QueryIdleProcessorCycleTimeEx function (realtimeapiset.h)

Retrieves the accumulated cycle time for the idle thread on each logical processor in the specified processor group.


BOOL QueryIdleProcessorCycleTimeEx(
  [in]      USHORT   Group,
  [in, out] PULONG   BufferLength,
  [out]     PULONG64 ProcessorIdleCycleTime


[in] Group

The number of the processor group for which to retrieve the cycle time.

[in, out] BufferLength

On input, specifies the size of the ProcessorIdleCycleTime buffer, in bytes. This buffer is expected to be 8 times the number of processors in the group.

On output, specifies the number of elements written to the buffer. If the buffer size is not sufficient, the function fails and this parameter receives the required length of the buffer.

[out] ProcessorIdleCycleTime

The number of CPU clock cycles used by each idle thread. If this parameter is NULL, the function updates the BufferLength parameter with the required length.

Return value

If the function succeeds, the return value is nonzero.

If the function fails, the return value is zero. To get extended error information, use GetLastError.


To compile an application that uses this function, set _WIN32_WINNT >= 0x0601. For more information, see Using the Windows Headers.


Minimum supported client Windows 7 [desktop apps only]
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Target Platform Windows
Header realtimeapiset.h (include Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

See also

Processor Groups