PEP_POWER_CONTROL_REQUEST 結構 (pepfx.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 開始支援。
標頭 pepfx.h (include Pep_x.h)

另請參閱

PEP_DPM_POWER_CONTROL_REQUEST

PEP_DPM_REGISTER_DEVICE

PoFxPowerControl