when given the information class SystemProcessorPerformanceInformation
(0x08).

Documentation Status

The SYSTEM_PROCESSOR_PERFRMANCE_INFORMATION structure
is defined in WINTERNL.H from the Software Development Kit (SDK). The definition
there provides only some of the members: IdleTime,
KernelTime and UserTime.

Microsoft does publish the practical equivalent of a C-language definition as
type information in public symbol files, though not for the kernel, where the structure
is prepared, nor even for low-level user-mode DLLs that interpret the structure,
but for various higher-level user-mode DLLs such as URLMON.DLL and only then starting
with version 6.2.

Two earlier disclosures of type information are known, though not in symbol files
but in statically linked libraries: GDISRVL.LIB from the Device Driver Kit (DDK)
for Windows NT 3.51; and SHELL32.LIB from the DDK for Windows NT 4.0.

Layout

The SYSTEM_PROCESSOR_PERFORMANCE_INFORMATION is 0x30
bytes in both 32-bit and 64-bit Windows.

Offset

Definition

0x00

LARGE_INTEGER IdleTime;

0x08

LARGE_INTEGER KernelTime;

0x10

LARGE_INTEGER UserTime;

0x18

LARGE_INTEGER DpcTime;

0x20

LARGE_INTEGER InterruptTime;

0x28

ULONG InterruptCount;

This page was created on 9th July 2016 but was not published
until 25th October 2016. It was
last modified on 27th June 2019.