PO_FX_DEVICE_V1 結構 (wdm.h)
PO_FX_DEVICE 結構描述裝置對電源管理架構的電源屬性, (PoFx) 。
語法
typedef struct _PO_FX_DEVICE_V1 {
ULONG Version;
ULONG ComponentCount;
PPO_FX_COMPONENT_ACTIVE_CONDITION_CALLBACK ComponentActiveConditionCallback;
PPO_FX_COMPONENT_IDLE_CONDITION_CALLBACK ComponentIdleConditionCallback;
PPO_FX_COMPONENT_IDLE_STATE_CALLBACK ComponentIdleStateCallback;
PPO_FX_DEVICE_POWER_REQUIRED_CALLBACK DevicePowerRequiredCallback;
PPO_FX_DEVICE_POWER_NOT_REQUIRED_CALLBACK DevicePowerNotRequiredCallback;
PPO_FX_POWER_CONTROL_CALLBACK PowerControlCallback;
PVOID DeviceContext;
PO_FX_COMPONENT_V1 Components[ANYSIZE_ARRAY];
} PO_FX_DEVICE_V1, *PPO_FX_DEVICE_V1;
成員
Version
這個結構的版本號碼。 如果驅動程式會向 PoFx 註冊效能狀態支援,請將此成員設定為 PO_FX_VERSION_V2。 否則,請將此成員設定為 PO_FX_VERSION_V1。
ComponentCount
Components 陣列中的項目數目。 此外,此成員會指定裝置中的元件數目。
ComponentActiveConditionCallback
設備驅動器所實作 之 ComponentActiveConditionCallback 回 呼例程的指標。
ComponentIdleConditionCallback
設備驅動器所實作 之 ComponentIdleConditionCallback 回 呼例程的指標。
ComponentIdleStateCallback
設備驅動器所實作 之 ComponentIdleStateCallback 回 呼例程的指標。
DevicePowerRequiredCallback
DevicePowerRequiredCallback 回呼例程的指標,由設備驅動器實作。
DevicePowerNotRequiredCallback
DevicePowerNotRequiredCallback 回呼例程的指標,由設備驅動器實作。
PowerControlCallback
裝置驅動程式所實作之 PowerControlCallback 回 呼例程的指標。
DeviceContext
呼叫端配置的裝置內容的指標。 這個指標會當做參數傳遞至這個結構所指向的每個驅動程序實作回呼函式。 設備驅動器會使用此內容來儲存裝置目前電源狀態的相關信息。 此內容與PoFx不透明。
Components[ANYSIZE_ARRAY]
這個成員是一或多個 PO_FX_COMPONENT 元素數位的第一個專案。 如果陣列包含多個元素,則其他元素會緊接在 PO_FX_DEVICE 結構後面。 數位包含裝置中每個元件的一個專案。 每個元件的 Fx 電源狀態可以獨立控制裝置中其他元件的 Fx 電源狀態。 ANYSIZE_ARRAY常數定義為 Ntdef.h 頭檔中的 1。
備註
若要向PoFx註冊裝置,驅動程式會呼叫 PoFxRegisterDevice 例程,並提供作為參數的指標,指向描述裝置的 PO_FX_DEVICE 結構。
Components 陣列中的每個元素都會描述裝置中一個元件的電源狀態屬性。 裝置中的每個元件都會由其 Components 陣列索引來識別。 PoFxActivateComponent 和 PoFxCompleteIdleCondition 等例程會使用元件的數組索引來識別元件。
實作所有六個回呼例程不需要裝置驅動程式。 如果驅動程式未實作對應的回呼例程,驅動程式可以將 PO_FX_DEVICE 結構中的函式指標設定為 NULL。 不過,必須實作特定的回呼例程。 具體而言,如果裝置中的一或多個元件具有一個以上的 Fx 狀態,驅動程式必須實作 ComponentIdleStateCallback、 ComponentActiveConditionCallback 和 ComponentIdleConditionCallback 例程。 否則,裝置註冊會失敗,而且 PoFxRegisterDevice 會傳回 STATUS_INVALID_PARAMETER。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | 從 Windows 8 開始支援。 |
標頭 | wdm.h (包括 Wudfwdm.h) |
另請參閱
ComponentActiveConditionCallback
ComponentIdleConditionCallback