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 狀態) 的功能電源狀態數目。 元件必須支援至少一個 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 結構的數位。 此陣列中的元素描述裝置中個別元件的電源屬性。 這些元件的電源設定是根據此數位資訊來管理。
Id 成員包含可唯一識別元件的元件標識碼。 元件標識碼與元件索引不同, StorPortPoFxActivateComponent 之類的例程會使用 來識別已註冊裝置中的元件。 元件索引是裝置驅動程式用來註冊裝置之STOR_POFX_DEVICE結構中 Components 陣列的索引。 如果 Components 陣列包含 N 個元素,則元件索引是範圍 0 到 N–1 中的整數值。 相反地,元件標識碼是 GUID 值。
單一配接器裝置元件的標識碼會在 storport.h 中定義為 STORPORT_POFX_ADAPTER_GUID。 單一單位裝置元件的標識碼STORPORT_POFX_LUN_GUID。 在描述 Id 成員中的配接器元件或單位元件時,請使用這些識別碼。
F 狀態需求如下所示:
- 針對適配卡裝置元件,迷你埠必須指定單一元件,以及適配卡最多八個 F 狀態。 StorPortInitializePoFxPower 應該只由迷你埠在迷你埠被動初始化例程的內容中呼叫。
- 對於單位裝置元件,迷你埠必須指定單位的單一元件,而且最多可以指定兩個 F 狀態。 單位裝置必須指定 F0 狀態,而且可以選擇性地有一個額外的 F 狀態。 StorPortInitializePoFxPower 應該只由迷你埠在迷你埠的 ScsiUnitPoFxPowerInfo 單元控件内容中呼叫。
若為單位裝置元件,如果 FStates 陣列中包含額外的 F 狀態,大小成員會維持為 STOR_POFX_COMPONENT_SIZE ,且不包含其他 STOR_POFX_COMPONENT_IDLE_STATE 結構的大小。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 8 |
標頭 | storport.h |