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

こちらもご覧ください

PoClearPowerRequest

PoDeletePowerRequest

PoSetPowerRequest