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
電源要求オブジェクトを作成するのに十分なメモリがありません。

注釈

このルーチンは、電源要求オブジェクトを作成します。 電源要求を有効にするには、呼び出し元が 1 つの電源要求オブジェクトを作成し、 PoSetPowerRequest ルーチンと PoClearPowerRequest ルーチンのすべての呼び出しにそのオブジェクトを使用する必要があります。

ドライバーは、電源要求を使用して、コンピューターの既定の電源動作の特定の側面をオーバーライドできます。 たとえば、テレビ レシーバー デバイスのドライバーは、電源要求を使用して、ユーザーの操作が発生しない長時間の間に 電源マネージャー がディスプレイを自動的に空白にしないようにすることができます。

電源要求オブジェクトが不要になった場合、呼び出し元は PoDeletePowerRequest ルーチンを呼び出してオブジェクトを削除する必要があります。 ドライバーは、電源要求オブジェクトの作成に使用されたデバイス オブジェクトを削除する前に、電源要求オブジェクトを削除する必要があります。

要件

要件
サポートされている最小のクライアント Windows 7 以降で使用できます。
対象プラットフォーム ユニバーサル
Header wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
Library NtosKrnl.lib
[DLL] NtosKrnl.exe
IRQL <= APC_LEVEL

こちらもご覧ください

PoClearPowerRequest

PoDeletePowerRequest

PoSetPowerRequest