다음을 통해 공유


PoCreatePowerRequest 함수(ntifs.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 전원 요청 개체를 만드는 데 사용할 수 있는 메모리가 부족합니다.

발언

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

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

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

요구 사항

요구
지원되는 최소 클라이언트 Windows 7
대상 플랫폼 보편적
헤더 ntifs.h(Wdm.h, Ntddk.h, Ntifs.h 포함)
라이브러리 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

참고 항목

PoClearPowerRequest

PoDeletePowerRequest

PoSetPowerRequest