KeQueryInterruptTimePrecise 함수(wdm.h)

KeQueryInterruptTimePrecise 루틴은 시스템 인터럽트 시간 수의 현재 값을 마이크로초 내에 정확도로 반환합니다.

구문

ULONG64 KeQueryInterruptTimePrecise(
  [out] PULONG64 QpcTimeStamp
);

매개 변수

[out] QpcTimeStamp

루틴이 반환 값을 보간하는 데 사용되는 성능 카운터 값을 쓰는 ULONG64 변수에 대한 포인터입니다.

반환 값

현재 인터럽트 시간 수는 100나노초 단위입니다.

설명

KeQueryInterruptTimePrecise 는 운영 체제가 마지막으로 시작된 이후의 시간인 시스템의 현재 인터럽트 시간을 반환합니다. KeQueryInterruptTimePreciseKeQueryInterruptTime 루틴과 유사하지만 더 정확합니다.

KeQueryInterruptTime에서 보고한 인터럽트 시간은 시스템 클록 타이머의 최신 틱을 기반으로 합니다. 클록 타이머는 시스템 클록에 대한 인터럽트(interrupts)를 주기적으로 생성하는 하드웨어 타이머입니다. 클록 타이머 인터럽트 사이의 균일한 기간을 시스템 클록 틱이라고 하며, 하드웨어 플랫폼에 따라 일반적으로 500 마이크로초에서 15.625밀리초 범위입니다. KeQueryInterruptTime에서 검색한 인터럽트 시간 값은 시스템 클록 틱 내에서 정확합니다.

KeQueryInterruptTime보다 더 정확한 인터럽트 시간 값을 제공하기 위해 KeQueryInterruptTimePrecise는 시스템 성능 카운터를 사용하여 마지막 클록 타이머 인터럽트 이후 경과된 시간을 측정하고 이 시간을 최신 클록 시간과 연결된 인터럽트 시간에 추가합니다. KeQueryInterruptTimePrecise에서 보고한 인터럽트 시간은 마이크로초 이내로 정확합니다.

일부 하드웨어 플랫폼에서 는 KeQueryInterruptTimePrecise 호출이 KeQueryInterruptTime 호출보다 느릴 수 있습니다. 그 이유는 KeQueryInterruptTimePrecise 가 성능 카운터를 읽고 추가 지연이 발생할 수 있기 때문입니다. 자세한 내용은 KeQueryPerformanceCounter를 참조하세요.

KeQueryTimeIncrement 루틴을 호출하여 시스템 클록 틱의 크기를 확인합니다.

시스템 시간을 설정하거나 다시 설정하는 작업은 시스템 인터럽트 시간 수에 영향을 주지 않으므로 시스템이 실행되는 동안 정확한 인터럽트 시간을 사용하여 매우 세분화된 기간을 측정할 수 있습니다.

그러나 전원 관리 상태 변경은 시스템 인터럽트 시간 수에 영향을 미칩니다. 인터럽트 시간 수의 유지 관리는 시스템 절전 모드 상태 중에 일시 중단됩니다. 후속 절전 모드 해제 상태 전환이 발생하면 시스템은 인터럽트 시간 수에 "바이어스" 값을 추가하여 이러한 절전 상태의 예상 기간을 보정합니다. KeQueryInterruptTimePrecise에서 반환하는 인터럽트 시간 수에는 이 바이어스 값이 포함됩니다. 편견 없는 인터럽트 시간 수를 얻으려면 KeQueryUnbiasedInterruptTime을 사용합니다. 편견 없는 인터럽트 시간 수의 정확한 버전은 현재 사용할 수 없습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 8.1 시작해서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL 모든 수준

추가 정보

고해상도 타임스탬프 획득

KeQueryInterruptTime

KeQueryTimeIncrement

KeQueryUnbiasedInterruptTime