STOR_POFX_COMPONENT結構 (storport.h)
STOR_POFX_COMPONENT 結構描述存放裝置元件的電源狀態屬性。 STOR_POFX_COMPONENT_V2 結構提供額外的電源狀態控制件。
語法
typedef struct _STOR_POFX_COMPONENT {
ULONG Version;
ULONG Size;
ULONG FStateCount;
ULONG DeepestWakeableFState;
GUID Id;
STOR_POFX_COMPONENT_IDLE_STATE FStates[ANYSIZE_ARRAY];
} STOR_POFX_COMPONENT, *PSTOR_POFX_COMPONENT;
成員
Version
這個結構的版本號碼。 將此成員設定為 STOR_POFX_DEVICE_VERSION_V1。
Size
這個結構的大小。 將這個值設定為 STOR_POFX_COMPONENT_SIZE。
FStateCount
陣列中由 FStates 成員所指向的元素數目。 此外,這個成員會指定元件所支援的功能電源狀態 (F-state) 數目。 元件必須至少支援一個 F 狀態 (F0)。
DeepestWakeableFState
元件可以喚醒的最深 F 狀態索引。 針對 F0 指定 0、F1 指定 1 等。 此索引必須小於 FStateCount。
Id
可唯一識別此元件之裝置中其他元件的元件標識碼。 如果電源管理架構 (PoFx) 要求元件標識碼與相同裝置中的其他類似元件區別,驅動程式應該為此成員指定非零值。 Storport 支援的元件標識碼是STORPORT_POFX_ADAPTER_GUID(識別配接器)和STORPORT_POFX_LUN_GUID(識別單位)。
FStates[ANYSIZE_ARRAY]
STOR_POFX_COMPONENT_IDLE_STATE 結構的陣列。 此陣列的長度是由 FStateCount 成員所指定。 每個數位元素都會指定元件所支援之 F 狀態的屬性。 元素 0 描述 F0、元素 1 描述 F1 等等。 需要多個閑置狀態結構時,會在 STOR_ POFX_COMPONENT 結構結尾配置額外的結構,並將 FStateCount 設定為 1,這是ANYSIZE_ARRAY的值,加上其他結構的計數。
言論
當迷你埠驅動程式向 Storport 電源管理架構註冊裝置時,迷你埠驅動程式會提供保存註冊資訊的 STOR_POFX_DEVICE 結構。 這個結構包含 STOR_ POFX_COMPONENT 結構的數位。 此陣列中的元素描述裝置中個別元件的電源屬性。 這些元件的電源設定會根據此數位資訊來管理。
識別碼 成員包含可唯一識別元件的元件標識碼。 元件標識碼與元件索引不同,例如 StorPortPoFxActivateComponent 等例程 用來識別已註冊裝置中的元件。 元件索引是裝置驅動程式用來註冊裝置之STOR_POFX_DEVICE結構中 Components 陣列的索引。 如果 Components 數位含 N 個元素,元件索引是範圍 0 到 N–1 中的整數值。 相反地,元件標識碼是 GUID 值。
單一配接器裝置元件的標識碼定義在 storport.h 中, 為 STORPORT_POFX_ADAPTER_GUID。 單一單位裝置元件的標識碼STORPORT_POFX_LUN_GUID。 在描述 識別碼 成員中的配接器元件或單位元件時,請使用這些標識符。
F 狀態需求如下所示:
- 針對配接器裝置元件,迷你埠必須指定單一元件,且適配卡最多 8 個 F 狀態。 StorPortInitializePoFxPower 只能由迷你埠在迷你埠被動初始化例程的內容中呼叫。
- 針對單位裝置元件,迷你埠必須指定單位的單一元件,而且最多可以指定兩個 F 狀態。 單位裝置必須指定 F0 狀態,而且可以選擇性地有一個額外的 F 狀態。 StorPortInitializePoFxPower 只能由迷你埠 ScsiUnitPoFxPowerInfo 單元控制的內容呼叫。
針對單位裝置元件,如果 FStates 數位列中包含額外的 F 狀態,則大小成員會保持設定為 STOR_POFX_COMPONENT_SIZE,且不包含其他 STOR_POFX_COMPONENT_IDLE_STATE 結構的大小。
要求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 8 |
標頭 | storport.h |