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 值的指標,指定要執行的電源控制作業。 這個值與要求驅動程式提供給PoFxPowerControl例程的PowerControlCode參數相同。

[in] InBuffer

驅動程式配置的輸入緩衝區指標,其中包含這個電源控制作業的輸入參數。 這個值與要求驅動程式提供給PoFxPowerControl例程的InBuffer參數相同。

[in] InBufferSize

InBuffer 所指向之緩衝區的大小,以位元組為單位。 這個值與要求驅動程式提供給PoFxPowerControl例程的InBufferSize參數相同。

[in] OutBuffer

PEP 寫入此電源控制作業結果的驅動程式配置輸出緩衝區指標。 這個值與要求驅動程式提供給PoFxPowerControl例程的 OutBuffer 參數相同。

[in] OutBufferSize

OutBuffer 所指向之緩衝區的大小,以位元組為單位。

[out] BytesReturned

PEP 寫入 OutBuffer 所指向之輸出緩衝區的位元元組數目。

[out] Status

要求電源控制作業的狀態。 如果作業成功,PEP 會將此成員設定為STATUS_SUCCESS。 否則,PEP 會將這個成員設定為適當的錯誤狀態代碼。

備註

此結構是由 PEP_DPM_POWER_CONTROL_REQUEST 通知使用。 結構的前六個成員包含 Windows 電源管理架構 (PoFx) 所提供的輸入值。 最後兩個成員包含 PEP 寫入結構以回應此通知的值。 此外,PEP 會寫入 OutBuffer 成員所指向的輸出緩衝區。

如果輸出緩衝區太小而無法接收作業中的所有結果數據,PEP 會將 結構的 Status 成員設定為STATUS_INSUFFICIENT_RESOURCES、將 BytesReturned 成員設定為輸出緩衝區的必要大小,而 (通常會) 不會將數據寫入輸出緩衝區。

裝置的驅動程式可以呼叫 PoFxPowerControl 例程來要求裝置上的電源控制作業。 在此呼叫期間,PoFx 會將此要求的處理委派給擁有裝置的 PEP。 PEP_POWER_CONTROL_REQUEST 結構的PowerControlCode成員包含自定義控件程式代碼,其意義可由驅動程式和 PEP 同時了解裝置。

規格需求

需求
最低支援的用戶端 從Windows 10 開始支援。
標頭 pep_x.h (包含 Pep_x.h)

另請參閱

PEP_DPM_POWER_CONTROL_REQUEST

PEP_DPM_REGISTER_DEVICE

PoFxPowerControl