다음을 통해 공유


PoQueryWatchdogTime 함수(wdm.h)

PoQueryWatchdogTime 루틴은 전원 관리자가 현재 디바이스 스택에 할당된 전원 IRP에 대해 Watchdog 시간 제한 카운터를 사용하도록 설정했는지 여부를 나타냅니다.

구문

BOOLEAN PoQueryWatchdogTime(
  [in]  PDEVICE_OBJECT Pdo,
  [out] PULONG         SecondsRemaining
);

매개 변수

[in] Pdo

PDO(물리적 디바이스 개체)에 대한 포인터입니다. 이 매개 변수는 물리적 디바이스를 나타내는 DEVICE_OBJECT 구조를 가리킵니다.

[out] SecondsRemaining

루틴이 다음 파워 워치독 제한 시간이 발생하기 전에 남아 있는 시간(초)을 기록하는 위치에 대한 포인터입니다.

반환 값

PoQueryWatchdogTime은 Watchdog 사용 전원 IRP가 현재 디바이스 스택에 할당된 경우 TRUE 를 반환합니다. 그렇지 않으면 FALSE를 반환합니다.

설명

이 루틴을 사용하면 커널 모드 드라이버가 전원 관리자가 발급한 전원 IRP를 추적하기 위해 사용하도록 설정한 Watchdog 시간 제한 카운터를 모니터링할 수 있습니다. 하나 이상의 Watchdog 제한 시간 카운터가 현재 사용하도록 설정된 경우 루틴은 TRUE 를 반환하고 다음 제한 시간 전에 남은 시간을 제공합니다.

예를 들어 디바이스를 종료할 때 지연이 발생하는 드라이버는 이 루틴을 호출하여 운영 체제의 제어된 종료(버그 검사)를 방지하기 위해 드라이버가 전원 IRP에 응답하기까지 남은 시간을 결정할 수 있습니다.

전원 관리자는 디바이스 스택에 전원 IRP를 발급할 때 Watchdog 시간 제한 카운터를 설정합니다. 이 카운터의 제한 시간은 일반적으로 몇 분입니다. 스택의 디바이스가 응답하지 않고 시간 제한 기간 동안 IRP가 중단되는 경우 전원 관리자는 이 조건을 복구할 수 없는 오류로 처리하고 운영 체제의 제어된 종료를 시작합니다.

현재 두 개 이상의 전원 감시 제한 시간이 사용하도록 설정된 경우 루틴은 *SecondsRemaining을 다음 제한 시간으로 설정합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows 7부터 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= DISPATCH_LEVEL

추가 정보

DEVICE_OBJECT