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 | 모든 수준 |