다음을 통해 공유


QueryUnbiasedInterruptTime 함수(realtimeapiset.h)

현재 편견 없는 인터럽트 시간 수를 100나노초 단위로 가져옵니다. 편견 없는 인터럽트 시간 수는 시스템이 절전 모드 또는 최대 절전 모드에서 소비하는 시간을 포함하지 않습니다.

통사론

BOOL QueryUnbiasedInterruptTime(
  PULONGLONG UnbiasedTime
);

매개 변수

UnbiasedTime

미정

반환 값

함수가 성공하면 반환 값은 0이 아닌 값입니다. 함수가 null 매개 변수를 사용하여 호출되기 때문에 실패하면 반환 값은 0입니다.

발언

인터럽트 시간 수는 시스템이 시작될 때 0에서 시작하여 클록 틱의 길이에 따라 각 클록 인터럽트에서 증가합니다. 클록 틱의 정확한 길이는 기본 하드웨어에 따라 달라지며 시스템마다 다를 수 있습니다.

QueryUnbiasedInterruptTime 함수에서 검색한 인터럽트 시간 수는 시스템이 작업 상태에 있는 시간만 반영합니다. 따라서 인터럽트 시간 수는 시스템이 절전 모드 또는 최대 절전 모드에서 소비하는 시간에 의해 "편향"되지 않습니다. 시스템은 절전 모드 중에 만료된 상대 타이머가 절전 모드에서 즉시 만료되도록 하는 등 일부 작업에 편향된 인터럽트 시간을 사용합니다.

시스템 시간과 달리 인터럽트 시간 수는 사용자 또는 Windows 시간 서비스의 조정을 받지 않습니다. 애플리케이션은 인터럽트 시간 수를 사용하여 시스템 시간에 가능한 것보다 더 미세한 기간을 측정할 수 있습니다. 인터럽트 시간 수보다 정밀도가 높은 애플리케이션은 고해상도 타이머사용해야 합니다. QueryPerformanceFrequency 함수를 사용하여 고해상도 타이머의 빈도를 검색하고 QueryPerformanceCounter 함수를 사용하여 카운터 값을 검색합니다.

timeBeginPeriodtimeEndPeriod 함수로 설정된 타이머 해상도는 QueryUnbiasedInterruptTime 함수의 해상도에 영향을 줍니다. 그러나 프로세서가 절전 상태로 들어가지 못하게 하여 전반적인 시스템 성능을 줄이고 시스템 전력 소비를 늘릴 수 있으므로 타이머 해상도를 높이는 것은 권장되지 않습니다. 대신 애플리케이션은 고해상도 타이머를 사용해야 합니다.

참고QueryUnbiasedInterruptTime 함수는 인터럽트 시간 수 및 틱 수가 약 49일 정도 진행되므로 Windows의 디버그("checked") 빌드에서 다른 결과를 생성합니다. 이렇게 하면 시스템이 오랫동안 실행될 때까지 발생하지 않을 수 있는 버그를 식별할 수 있습니다.
 
이 함수를 사용하는 애플리케이션을 컴파일하려면 _WIN32_WINNT 0x0601 이상으로 정의합니다. 자세한 내용은 Windows 헤더사용하는 참조하세요.

요구 사항

요구
지원되는 최소 클라이언트 Windows 7, Windows 8 [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows Server 2008 R2 [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 realtimeapiset.h(Windows.h 포함)
라이브러리 Mincore.lib
DLL Kernel32.dll

참고 항목

인터럽트 시간

queryInterruptTime

queryInterruptTimePrecise

QueryUnbiasedInterruptTimePrecise

시스템 전원 상태

windows 시간