Функция QueryInterruptTime (realtimeapiset.h)

Возвращает текущее количество времени прерываний. Для более точного подсчета используйте QueryInterruptTimePrecise.

Синтаксис

void QueryInterruptTime(
  [out] PULONGLONG lpInterruptTime
);

Параметры

[out] lpInterruptTime

Указатель на ULONGLONG, в котором требуется получить количество прерываний в системных единицах времени 100 наносекунд. Разделите на десять миллионов, или 1e7, чтобы получить секунды (есть 1e9 наносекунд в секунду, так что есть 1e7 100 наносекунд в секунду).

Возвращаемое значение

None

Remarks

Счетчик времени прерываний начинается с нуля при запуске системы и увеличивается при каждом прерывании часов на длину такта часов. Точная длина тактов часов зависит от базового оборудования и может отличаться в разных системах.

В отличие от системного времени, количество прерываний не подлежит корректировке пользователями или службой времени Windows. Приложения могут использовать счетчик времени прерываний для измерения более точной длительности, чем это возможно при использовании системного времени. Приложения, которым требуется более высокая точность, чем количество прерываний, должны использовать таймер с высоким разрешением. Используйте функцию QueryPerformanceFrequency для получения частоты таймера высокого разрешения и функцию QueryPerformanceCounter для получения значения счетчика.

Разрешение таймера, заданное функциями timeBeginPeriod и timeEndPeriod , влияет на разрешение функции QueryInterruptTime . Однако увеличение разрешения таймера не рекомендуется, так как это может снизить общую производительность системы и увеличить энергопотребление системы, не позволяя процессору переходить в состояния энергосбережения. Вместо этого приложения должны использовать таймер с высоким разрешением.

Примечание Функция QueryInterruptTime выдает разные результаты при отладке ("проверено") сборок Windows, так как количество прерываний и число тактов расширены примерно на 49 дней. Это помогает выявлять ошибки, которые могут не возникать, пока система не будет работать в течение длительного времени. Проверенная сборка доступна подписчикам MSDN на веб-сайте Microsoft Developer Network (MSDN).
 
Чтобы скомпилировать приложение, использующее эту функцию, определите _WIN32_WINNT как 0x0601 или более поздней версии. Дополнительные сведения см. в разделе Использование заголовков Windows.

Требования

Требование Значение
Минимальная версия клиента Windows 10 [классические приложения | Приложения UWP]
Минимальная версия сервера Windows Server 2016 [классические приложения | Приложения UWP]
Целевая платформа Windows
Header realtimeapiset.h
Библиотека Mincore.lib
DLL Kernel32.dll

См. также

Время прерывания

QueryInterruptTimePrecise

QueryUnbiasedInterruptTime

QueryUnbiasedInterruptTimePrecise

Состояния питания системы

Служба времени Windows