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


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

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

Синтаксис

void QueryInterruptTime(
  [out] PULONGLONG lpInterruptTime
);

Параметры

[out] lpInterruptTime

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

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

Никакой

Замечания

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

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

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 10 [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows Server 2016 [классические приложения | Приложения UWP]
целевая платформа Виндоус
заголовка realtimeapiset.h
библиотеки Mincore.lib
DLL Kernel32.dll

См. также

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

QueryInterruptTimePrecise

QueryUnbiasedInterruptTime

QueryUnbiasedInterruptTimePrecise

системных состояний

времени Windows