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) |