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

一个组件 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结构中 组件 数组的索引。 如果 组件 数组包含 N 个元素,则组件索引是范围 0 到 N–1 中的整数值。 相比之下,组件 ID 是 GUID 值。

单个适配器设备组件的 ID 在 storport.h 中定义为 STORPORT_POFX_ADAPTER_GUID。 单个单元设备组件的 ID STORPORT_POFX_LUN_GUID。 在描述 ID 成员中的适配器组件或单元组件时,请使用这些标识符。

F 状态要求如下所示:

  • 对于适配器设备组件,微型端口必须为适配器指定单个组件和最多 8 个 F 状态。 StorPortInitializePoFxPower 应仅在微型端口被动初始化例程的上下文中调用微型端口。
  • 对于单元设备组件,微型端口必须为该单元指定单个组件,并且最多可以指定两个 F 状态。 单元设备必须指定 F0 状态,并且可以选择有一个额外的 F 状态。 StorPortInitializePoFxPower 应仅在微型端口的 ScsiUnitPoFxPowerInfo 单元控制上下文中调用微型端口。

对于单元设备组件,如果 FStates 数组中包含其他 F 状态,则大小成员将保持设置为 STOR_POFX_COMPONENT_SIZE,并且不包括其他 STOR_POFX_COMPONENT_IDLE_STATE 结构的大小。

要求

要求 价值
最低支持的客户端 Windows 8
标头 storport.h

另请参阅

HW_UNIT_CONTROL

STOR_POFX_COMPONENT_V2

STOR_POFX_COMPONENT_IDLE_STATE

STOR_POFX_DEVICE

StorPortInitializePoFxPower

StorPortPoFxActivateComponent