次の方法で共有


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
ターゲット プラットフォーム 万国
ヘッダー ntifs.h (Wdm.h、Ntddk.h、Ntifs.h を含む)
ライブラリ NtosKrnl.lib
DLL NtosKrnl.exe
IRQL <= APC_LEVEL

関連項目

PoClearPowerRequest

PoDeletePowerRequest

PoSetPowerRequest