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


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

Возвращает текущее число неустранимых прерываний в единицах 100 наносекунд. Непреклонное количество прерываний не включает время, которое система проводит в спящем режиме или спящем режиме.

Синтаксис

BOOL QueryUnbiasedInterruptTime(
  PULONGLONG UnbiasedTime
);

Параметры

UnbiasedTime

ТБD

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

Если функция выполнена успешно, возвращаемое значение ненулевое. Если функция завершается ошибкой, так как она вызывается с пустым параметром, возвращаемое значение равно нулю.

Замечания

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

Число прерываний, полученное функцией QueryUnbiasedInterruptTime, отражает только время, когда система находится в рабочем состоянии. Таким образом, количество прерываний не является "предвзятым" по времени, когда система проводит в спящем режиме или гибернации. Система использует предвзятое время прерывания для некоторых операций, таких как обеспечение того, чтобы относительные таймеры, истекшие во время сна, истекли сразу после пробуждения.

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

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

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

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 7, Windows 8 [классические приложения | Приложения UWP]
минимальный поддерживаемый сервер Windows Server 2008 R2 [классические приложения | Приложения UWP]
целевая платформа Виндоус
заголовка realtimeapiset.h (включая Windows.h)
библиотеки Kernel32.lib
DLL Kernel32.dll

См. также

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

QueryInterruptTime

QueryInterruptTimePrecise

QueryUnbiasedInterruptTimePrecise

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

времени Windows