storport.h) (STOR_POFX_COMPONENT 结构
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
一个组件 ID,它相对于设备中的其他组件唯一标识此组件。 如果电源管理框架 (PoFx) 要求组件 ID 将此组件与同一设备中的其他类似组件区分开来,驱动程序应为此成员指定非零值。 Storport 支持的组件 ID 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 成员包含唯一标识组件的组件 ID。 组件 ID 与组件索引不同, StorPortPoFxActivateComponent 等例程使用该索引来标识已注册设备中的组件。 组件索引是设备驱动程序用于注册设备的STOR_POFX_DEVICE结构中 Components 数组的索引。 如果 Components 数组包含 N 个元素,则组件索引是 0 到 N–1 范围内的整数值。 相比之下,组件 ID 是 GUID 值。
单个适配器设备组件的 ID 在 storport.h 中定义为STORPORT_POFX_ADAPTER_GUID。 STORPORT_POFX_LUN_GUID单个单元设备组件的 ID。 在 描述 Id 成员中的适配器组件或单元组件时,请使用这些标识符。
F 状态要求如下:
- 对于适配器设备组件,微型端口必须为适配器指定一个组件和最多八个 F 状态。 StorPortInitializePoFxPower 应由微型端口仅在微型端口被动初始化例程的上下文中调用。
- 对于单元设备组件,微型端口必须为该单元指定单个组件,并且最多可以指定两个 F 状态。 单元设备必须指定 F0 状态,并且可以选择具有一个附加的 F 状态。 StorPortInitializePoFxPower 应仅由微型端口在微型端口的 ScsiUnitPoFxPowerInfo 单元控件的上下文中调用。
对于单元设备组件,如果 FStates 数组中包含其他 F 状态,则 size 成员仍设置为 STOR_POFX_COMPONENT_SIZE ,并且不包括附加 STOR_POFX_COMPONENT_IDLE_STATE 结构的大小。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 8 |
标头 | storport.h |