PoCreatePowerRequest 함수(wdm.h)

PoCreatePowerRequest 루틴은 전원 요청 개체를 만듭니다.

구문

NTSTATUS PoCreatePowerRequest(
  [out] PVOID                   *PowerRequest,
  [in]  PDEVICE_OBJECT          DeviceObject,
  [in]  PCOUNTED_REASON_CONTEXT Context
);

매개 변수

[out] PowerRequest

루틴이 새로 만든 전원 요청 개체에 대한 포인터를 쓰는 위치에 대한 포인터입니다. 호출이 실패하면 루틴은 이 위치에 NULL 을 씁니다.

[in] DeviceObject

호출자의 디바이스 개체( DEVICE_OBJECT 구조체)에 대한 포인터입니다.

[in] Context

호출자가 전원 요청 개체를 만드는 이유를 설명하는 COUNTED_REASON_CONTEXT 구조체에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL로 설정할 수 있습니다.

반환 값

PoCreatePowerRequest 는 호출이 성공하면 STATUS_SUCCESS 반환합니다. 호출이 실패하면 가능한 오류 반환 코드에는 다음이 포함됩니다.

반환 코드 설명
STATUS_INVALID_PARAMETER
DeviceObject 매개 변수는 NULL입니다.
STATUS_INSUFFICIENT_RESOURCES
전원 요청 개체를 만드는 데 사용할 수 있는 메모리가 부족합니다.

설명

이 루틴은 전원 요청 개체를 만듭니다. 전원 요청을 사용하도록 설정하려면 호출자가 하나의 전원 요청 개체를 만들고 PoSetPowerRequest 및 PoClearPowerRequest 루틴에 대한 모든 호출에 해당 개체를 사용해야 합니다.

드라이버는 전원 요청을 사용하여 컴퓨터의 기본 전원 동작의 특정 측면을 재정의할 수 있습니다. 예를 들어 TV 수신기 디바이스의 드라이버는 전원 요청을 사용하여 사용자 상호 작용이 발생하지 않는 장시간 동안 전원 관리자 가 디스플레이를 자동으로 비우지 않도록 할 수 있습니다.

전원 요청 개체가 더 이상 필요하지 않은 경우 호출자는 PoDeletePowerRequest 루틴을 호출하여 개체를 삭제해야 합니다. 드라이버는 전원 요청 개체를 만드는 데 사용된 디바이스 개체를 삭제하기 전에 전원 요청 개체를 삭제해야 합니다.

요구 사항

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

추가 정보

PoClearPowerRequest

PoDeletePowerRequest

PoSetPowerRequest