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。 如果呼叫失敗,可能的錯誤傳回碼包括下列專案:

傳回碼 Description
STATUS_INVALID_PARAMETER DeviceObject 參數為 NULL。
STATUS_INSUFFICIENT_RESOURCES 記憶體不足,無法建立電源要求物件。

備註

此例程會建立電源要求物件。 若要啟用電源要求,呼叫端應該建立一個電源要求物件,並將該對象用於 PoSetPowerRequestPoClearPowerRequest 例程的所有呼叫。

驅動程式可以使用電源要求來覆寫計算機默認電源行為的某些層面。 例如,電視接收器裝置的驅動程式可以使用電源要求來防止 電源管理員 在長時間內自動將顯示器空白,而不會發生用戶互動。

不再需要電源要求物件時,呼叫端必須呼叫 PoDeletePowerRequest 例程來刪除物件。 驅動程式必須先刪除電源要求物件,才能刪除用來建立電源要求對象的裝置物件。

規格需求

需求
最低支援的用戶端 Windows 7
目標平台 Universal
標頭 ntifs.h (包括 Wdm.h、Ntddk.h、Ntifs.h)
程式庫 NtosKrnl.lib
Dll NtosKrnl.exe
IRQL <= APC_LEVEL

另請參閱

PoClearPowerRequest

PoDeletePowerRequest

PoSetPowerRequest