storport.h) (STOR_POFX_DEVICE_V2 结构

STOR_POFX_DEVICE_V2结构将存储设备的电源属性描述为电源管理框架 (PoFx) 。 此结构类似于 STOR_POFX_DEVICE 但包含其他超时设置。

语法

typedef struct _STOR_POFX_DEVICE_V2 {
  ULONG               Version;
  ULONG               Size;
  ULONG               ComponentCount;
  ULONG               Flags;
  union {
    ULONG UnitMinIdleTimeoutInMS;
    ULONG AdapterIdleTimeoutInMS;
  };
  STOR_POFX_COMPONENT Components[ANYSIZE_ARRAY];
} STOR_POFX_DEVICE_V2, *PSTOR_POFX_DEVICE_V2;

成员

Version

此结构的版本号。 将此成员设置为 STOR_POFX_DEVICE_VERSION_V2

Size

此结构的大小。 将此值设置为 STOR_POFX_DEVICE_SIZE

ComponentCount

Components 数组中的元素数。 将此成员设置为 1。 目前,存储适配器或逻辑单元仅支持单个组件。

Flags

设备电源状态功能标志。 微型端口设置一个或多个 PoFx 设备标志以启用或禁用电源状态功能。

标志 是以下各项的按位 OR 组合。

含义
STOR_POFX_DEVICE_FLAG_NO_D0
请求不向适配器或单元的设备对象发送通电 IRP。
STOR_POFX_DEVICE_FLAG_NO_D3
请求不将关机 IRP 发送到适配器或设备的设备对象。
STOR_POFX_DEVICE_FLAG_ENABLE_D3_COLD
使 Storport 能够设置适配器的 D3 冷状态(如果支持)。 此标志仅适用于适配器。
STOR_POFX_DEVICE_FLAG_NO_DUMP_ACTIVE
如果设备已进入空闲状态或在空闲状态时关闭电源,微型端口将无法使存储设备在转储模式下处于活动状态。 此标志指示设备在空闲时是否可用于转储。
STOR_POFX_DEVICE_FLAG_IDLE_TIMEOUT
UnitMinIdleTimeoutInMSAdapterIdleTimeoutInMS 中的超时值用于 D3 空闲超时。

UnitMinIdleTimeoutInMS

单位的最小空闲时间(以毫秒为单位)。 仅当在 Flags 中设置STOR_POFX_DEVICE_FLAG_IDLE_TIMEOUT时,此值才有效。

AdapterIdleTimeoutInMS

适配器空闲超时值(以毫秒为单位)。 仅当在 Flags 中设置STOR_POFX_DEVICE_FLAG_IDLE_TIMEOUT时,此值才有效。

Components[ANYSIZE_ARRAY]

此成员是一个或多个 STOR_POFX_COMPONENT 元素数组中的第一个元素。 如果数组包含多个元素,则附加元素紧跟 STOR_POFX_DEVICE 结构。 数组包含设备中每个组件的一个元素。 目前,存储设备只有一个组件,因此不需要额外的组件结构。

注解

若要为 Storport PoFx 支持注册存储适配器,微型端口驱动程序在其 HwStorInitialize 例程中调用 StorPortEnablePassiveInitialization,并实现 HwStorPassiveInitializeRoutine 微型端口在其 HwStorPassiveInitializeRoutine 中调用 StorPortInitializePoFxPower 来提供有关适配器组件的信息。

为了注册 Storport PoFx 支持的存储单元,微型端口驱动程序实现 HwStorUnitControl 回调例程并提供 ScsiUnitPoFxPowerInfo 单元控制代码的处理。 处理 ScsiUnitPoFxPowerInfo 控制代码时,如果启用了单元组件的空闲电源管理,微型端口将调用 StorPortInitializePoFxPower

由其 Components 数组索引标识的存储设备的 组件 。 存储设备只有一个组件,因此使用索引 0。 StorPortPoFxActivateComponentStorPortPoFxIdleComponent 等例程使用组件的数组索引来标识组件。

要求

要求
最低受支持的客户端 从 Windows 8 开始支持。
标头 storport.h

另请参阅

STOR_POFX_COMPONENT

STOR_POFX_DEVICE

StorPortInitializePoFxPower

StorPortPoFxActivateComponent

StorPortPoFxIdleComponent