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 數位列中的每個元素都會描述裝置中一個元件的電源狀態屬性。 裝置中的每個元件都會由其 元件 陣列索引來識別。 PoFxActivateComponent 和 PoFxCompleteIdleCondition 等例程 使用元件的數組索引來識別元件。
實作這六個回呼例程不需要設備驅動器。 如果驅動程式未實作對應的回呼例程,驅動程式可以在 PO_FX_DEVICE 結構中將函式指標設定為 NULL。 不過,必須實作某些回呼例程。 具體來說,如果裝置中的一或多個元件具有一個以上的 Fx 狀態,驅動程式必須實作 ComponentIdleStateCallback、ComponentActiveConditionCallback,以及 ComponentIdleConditionCallback 例程。 否則,裝置註冊會失敗,PoFxRegisterDevice 會傳回 STATUS_INVALID_PARAMETER。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | 從 Windows 8 開始支援。 |
標頭 | wdm.h (包括 Wudfwdm.h) |
另請參閱
ComponentActiveConditionCallback
ComponentIdleConditionCallback