QueryPerformanceCounter 函数 (profileapi.h)

检索性能计数器的当前值,这是一个高分辨率 (<1us) 时间戳,可用于时间间隔度量。

语法

BOOL QueryPerformanceCounter(
  [out] LARGE_INTEGER *lpPerformanceCount
);

参数

[out] lpPerformanceCount

指向一个变量的指针,该变量接收当前性能计数器值(以计数为单位)。

返回值

如果该函数成功,则返回值为非零值。

如果函数失败,则返回值为零。 要获得更多的错误信息,请调用 GetLastError。 在运行 Windows XP 或更高版本的系统上,函数将始终成功,因此永远不会返回零。

注解

有关此函数及其用法的详细信息,请参阅 获取高分辨率时间戳

示例

// Gets the current number of ticks from QueryPerformanceCounter. Throws an
// exception if the call to QueryPerformanceCounter fails.
static inline int64_t GetTicks()
{
    LARGE_INTEGER ticks;
    if (!QueryPerformanceCounter(&ticks))
    {
        winrt::throw_last_error();
    }
    return ticks.QuadPart;
}

要求

要求
最低受支持的客户端 Windows 2000 专业版 [桌面应用 |UWP 应用]
最低受支持的服务器 Windows 2000 Server [桌面应用 |UWP 应用]
目标平台 Windows
标头 profileapi.h (包括 Windows.h)
Library Kernel32.lib
DLL Kernel32.dll

另请参阅

获取高分辨率时间戳

概念性

GetSystemTimePreciseAsFileTime

KeQueryPerformanceCounter

QueryPerformanceFrequency

引用

时间

计时器