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 반환합니다. 호출이 실패하면 가능한 오류 반환 코드에는 다음이 포함됩니다.
반환 코드 | 설명 |
---|---|
|
DeviceObject 매개 변수는 NULL입니다. |
|
전원 요청 개체를 만드는 데 사용할 수 있는 메모리가 부족합니다. |
설명
이 루틴은 전원 요청 개체를 만듭니다. 전원 요청을 사용하도록 설정하려면 호출자가 하나의 전원 요청 개체를 만들고 PoSetPowerRequest 및 PoClearPowerRequest 루틴에 대한 모든 호출에 해당 개체를 사용해야 합니다.
드라이버는 전원 요청을 사용하여 컴퓨터의 기본 전원 동작의 특정 측면을 재정의할 수 있습니다. 예를 들어 TV 수신기 디바이스의 드라이버는 전원 요청을 사용하여 사용자 상호 작용이 발생하지 않는 장시간 동안 전원 관리자 가 디스플레이를 자동으로 비우지 않도록 할 수 있습니다.
전원 요청 개체가 더 이상 필요하지 않은 경우 호출자는 PoDeletePowerRequest 루틴을 호출하여 개체를 삭제해야 합니다. 드라이버는 전원 요청 개체를 만드는 데 사용된 디바이스 개체를 삭제하기 전에 전원 요청 개체를 삭제해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 7부터 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | wdm.h(Wdm.h, Ntddk.h, Ntifs.h 포함) |
라이브러리 | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |