Поделиться через


Функция QueryPerformanceCounter (profileapi.h)

Извлекает текущее значение счетчика производительности, представляющее собой метку времени с высоким разрешением (<1 us), которую можно использовать для измерения интервалов времени.

Синтаксис

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
Header profileapi.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

Получение высокоточных меток времени

Основные понятия

GetSystemTimePreciseAsFileTime

KeQueryPerformanceCounter

QueryPerformanceFrequency

Справочные материалы

Время

Таймеры