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 | 電源要求オブジェクトを作成するのに十分なメモリがありません。 |
注釈
このルーチンは、電源要求オブジェクトを作成します。 電源要求を有効にするには、呼び出し元が 1 つの電源要求オブジェクトを作成し、 PoSetPowerRequest ルーチンと PoClearPowerRequest ルーチンのすべての呼び出しにそのオブジェクト を 使用する必要があります。
ドライバーは、電源要求を使用して、コンピューターの既定の電源動作の特定の側面をオーバーライドできます。 たとえば、テレビ レシーバー デバイスのドライバーは、電源要求を使用して、ユーザーの操作が発生しない長時間の間に 電源マネージャー がディスプレイを自動的に空白にすることを防ぐことができます。
電源要求オブジェクトが不要になった場合、呼び出し元は PoDeletePowerRequest ルーチンを呼び出してオブジェクトを削除する必要があります。 ドライバーは、電源要求オブジェクトの作成に使用されたデバイス オブジェクトを削除する前に、電源要求オブジェクトを削除する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 7 |
対象プラットフォーム | ユニバーサル |
Header | ntifs.h (Wdm.h、Ntddk.h、Ntifs.h を含みます) |
Library | NtosKrnl.lib |
[DLL] | NtosKrnl.exe |
IRQL | <= APC_LEVEL |