PEP_POWER_CONTROL_REQUEST 構造体 (pep_x.h)
PEP_POWER_CONTROL_REQUEST構造体には、電源制御操作のドライバーからの要求が含まれています。
構文
typedef struct _PEP_POWER_CONTROL_REQUEST {
[in] PEPHANDLE DeviceHandle;
[in] LPCGUID PowerControlCode;
[in] PVOID InBuffer;
[in] SIZE_T InBufferSize;
[in] PVOID OutBuffer;
[in] SIZE_T OutBufferSize;
[out] SIZE_T BytesReturned;
[out] NTSTATUS Status;
} PEP_POWER_CONTROL_REQUEST, *PPEP_POWER_CONTROL_REQUEST;
メンバー
[in] DeviceHandle
デバイスを識別する PEPHANDLE 値。 PEP は、以前のPEP_DPM_REGISTER_DEVICE通知に応答してこのハンドル を 提供しました。
[in] PowerControlCode
実行する電源制御操作を指定する GUID 値へのポインター。 これは、要求側ドライバーが PowerControlCode パラメーターとして PoFxPowerControl ルーチンに指定した値と同じです。
[in] InBuffer
この電源制御操作の入力パラメーターを含む、ドライバーによって割り当てられた入力バッファーへのポインター。 これは、要求側ドライバーが PoFxPowerControl ルーチンに InBuffer パラメーターとして指定したのと同じ値です。
[in] InBufferSize
InBuffer が指すバッファーのサイズ (バイト単位)。 これは、要求側ドライバーが PoFxPowerControl ルーチンに InBufferSize パラメーターとして指定したのと同じ値です。
[in] OutBuffer
PEP がこの電源制御操作の結果を書き込む、ドライバーによって割り当てられた出力バッファーへのポインター。 これは、要求側ドライバーが PoFxPowerControl ルーチンに OutBuffer パラメーターとして指定したのと同じ値です。
[in] OutBufferSize
OutBuffer が指すバッファーのサイズ (バイト単位)。
[out] BytesReturned
OUTBuffer が指す出力バッファーに PEP が書き込んだバイト数。
[out] Status
要求された電源制御操作の状態。 操作が成功した場合、PEP はこのメンバーをSTATUS_SUCCESSに設定します。 それ以外の場合、PEP はこのメンバーを適切なエラー状態コードに設定します。
注釈
この構造体は、 PEP_DPM_POWER_CONTROL_REQUEST 通知によって使用されます。 構造体の最初の 6 つのメンバーには、Windows 電源管理フレームワーク (PoFx) によって提供される入力値が含まれています。 最後の 2 つのメンバーには、この通知に応答して PEP が 構造体に書き込む値が含まれています。 さらに、PEP は OutBuffer メンバーが指す出力バッファーに書き込みます。
出力バッファーが小さすぎて操作からすべての結果データを受信できない場合、PEP は構造体の Status メンバーをSTATUS_INSUFFICIENT_RESOURCESに設定し、 BytesReturned メンバーを出力バッファーの必要なサイズに設定し、(通常は) 出力バッファーにデータを書き込まない。
デバイスのドライバーは、 PoFxPowerControl ルーチンを呼び出して、デバイスの電源制御操作を要求できます。 この呼び出し中に、PoFx はデバイスを所有する PEP にこの要求の処理を委任します。 PEP_POWER_CONTROL_REQUEST構造体の PowerControlCode メンバーには、デバイスのドライバーと PEP の両方で意味が理解されるカスタム コントロール コードが含まれています。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 10 以降でサポートされています。 |
Header | pep_x.h (Pep_x.h を含む) |