SCSI_UNIT_CONTROL_TYPE枚举 (storport.h)

SCSI_UNIT_CONTROL_TYPE枚举包含单元控制操作,其中每个控件类型通过微型端口驱动程序启动对单元的操作。 Storport 在调用微型端口的 HwStorUnitControl 例程时指定控件类型。

语法

typedef enum _SCSI_UNIT_CONTROL_TYPE {
  ScsiQuerySupportedUnitControlTypes,
  ScsiUnitUsage,
  ScsiUnitStart,
  ScsiUnitPower,
  ScsiUnitPoFxPowerInfo,
  ScsiUnitPoFxPowerRequired,
  ScsiUnitPoFxPowerActive,
  ScsiUnitPoFxPowerSetFState,
  ScsiUnitPoFxPowerControl,
  ScsiUnitRemove,
  ScsiUnitSurpriseRemoval,
  ScsiUnitRichDescription,
  ScsiUnitQueryBusType,
  ScsiUnitQueryFruId,
  ScsiUnitReportInternalData,
  ScsiUnitKsrPowerDown,
  ScsiUnitControlMax,
  MakeUnitControlTypeSizeOfUlong
} SCSI_UNIT_CONTROL_TYPE, *PSCSI_UNIT_CONTROL_TYPE;

常量

 
ScsiQuerySupportedUnitControlTypes
报告微型端口驱动程序实现的单元控制操作。 微型端口必须支持此控件类型。

Storport 驱动程序使用此控件类型和参数调用 HwStorUnitControl ,这些 控件 在 HBA 已初始化之后,但在第一个 I/O 之前指向 SCSI_SUPPORTED_CONTROL_TYPE_LIST 结构。

微型端口驱动程序使用它支持的操作填充 SCSI_SUPPORTED_CONTROL_TYPE_LIST 结构。 HwStorUnitControl 从此调用返回后,Storport 驱动程序仅为微型端口支持的操作调用微型端口驱动程序的 HwStorUnitControl
ScsiUnitUsage
通知微型端口逻辑单元是否用于任何受支持的使用类型。 Storport 使用此控件类型和参数调用 HwStorUnitControl ,这些 控件 指向 STOR_UC_DEVICE_USAGE 结构。 Storport 将针对支持的每种使用类型单独调用 HwStorUnitControl
ScsiUnitStart
通知微型端口启动单元设备。 Storport 使用此控件类型和参数调用 HwStorUnitControl ,这些 控件 指向要启动的单元 STOR_ADDR_BTL8 地址。
ScsiUnitPower
报告设备开机或关机状态。 Storport 使用此控件类型和参数调用 HwStorUnitControl ,这些 控件 指向 STOR_UNIT_CONTROL_POWER 结构。 如果微型端口支持此控件类型,则它不会收到包含SRB_FUNCTION_POWER的存储请求块。
ScsiUnitPoFxPowerInfo
在单元组件上启用或禁用空闲电源管理时,通知微型端口。 Storport 使用此控件类型调用 HwStorUnitControl参数 指向 STOR_POFX_UNIT_POWER_INFO 结构。 如果启用了空闲电源管理,并且它是否支持对单元设备的运行时电源管理,微型端口应在此单元中调用 StorPortInitializePoFxPower 控件。
ScsiUnitPoFxPowerRequired
通知微型端口单元组件是否需要电源。 Storport 使用此控件类型和参数调用 HwStorUnitControl ,这些 控件 指向STOR_POFX_POWER_REQUIRED_CONTEXT 结构。
ScsiUnitPoFxPowerActive
通知微型端口单元组件处于活动状态或处于空闲状态。 Storport 使用此控件类型和参数调用 HwStorUnitControl ,这些 控件 类型指向 STOR_POFX_ACTIVE_CONTEXT 结构。
ScsiUnitPoFxPowerSetFState
通知微型端口将单元组件设置为给定的功能电源状态 (F 状态) 。 Storport 使用此控件类型和参数调用 HwStorUnitControl ,这些 控件 指向 STOR_POFX_FSTATE_CONTEXT 结构。 如果 在调用 StorPortInitializePoFxPower 时指定了多个 F 状态,则微型端口必须支持此控件类型。
ScsiUnitPoFxPowerControl
请求微型端口执行由电源引擎插件为单元启动的专用电源控制操作, (PEP) 。 Storport 使用此控件类型和参数调用 HwStorUnitControl ,这些 控件 指向 STOR_POFX_POWER_CONTROL 结构。
ScsiUnitRemove
通知微型端口该单元已被删除。 Storport 使用此控件类型和参数调用 HwStorUnitControl ,这些 控件 指向已删除的单元 的STOR_ADDR_BTL8 地址。
ScsiUnitSurpriseRemoval
通知微型端口该单元已被意外移除。 Storport 使用此控件类型和参数调用 HwStorUnitControl ,这些 控件 指向意外删除的单元 的STOR_ADDR_BTL8 地址。
ScsiUnitRichDescription
如果设备报告的供应商 ID、型号或固件修订比 SCSI 规范中定义的更长,微型端口可以选择支持此功能。Storport 使用此控件类型和参数调用 HwStorUnitControl ,这些 控件 指向 STOR_RICH_DEVICE_DESCRIPTION 结构。
ScsiUnitQueryBusType
查询微型端口是否要为给定逻辑单元指定总线类型, (LUN) 。 通常,LUN 和控制器的总线类型具有相同的总线类型,但并非总是如此。 Storport 使用此控件类型调用 HwStorUnitControl参数 指向 STOR_UNIT_CONTROL_QUERY_BUS_TYPE 结构。 在 Windows 10 版本 2004 及更高版本中可用。

注意

在 Windows 10版本 21H1 及更高版本中,仅当微型端口之前在其 HwFindAdapter 例程中也调用 StorPortSetFeatureList 并指定 StorportFeatureBusTypeUnitControl 时,Storport 才会发送此控件。

ScsiUnitQueryFruId
(FRU) 查询故障更换单元的 ID。 如果微型端口支持此控件类型,Storport 会使用此控件类型调用 HwStorUnitControl参数 指向 STOR_FRU_ID_DESCRIPTION 结构。 在 Windows 10 版本 21H1 及更高版本中可用。

注意

仅当微型端口之前在其 HwFindAdapter 例程中也调用 StorPortSetFeatureList 并指定 StorportFeatureFruIdUnitControl 时,Storport 才会发送此控件。

ScsiUnitReportInternalData
预留给系统使用。 从 Windows 11 版本 22H2 开始可用。
ScsiUnitKsrPowerDown
保留以供内部使用。 请勿使用。
ScsiUnitControlMax
最大控件类型值。
MakeUnitControlTypeSizeOfUlong
使此枚举成为 ULONG 的大小。

注解

微型端口报告当 Storport 使用控件类型为 ScsiQuerySupportedControlTypes 调用微型端口的 HwStorUnitControl 例程时,它支持哪些控件类型。 对于微型端口支持的控件类型,Storport 使用SCSI_UNIT_CONTROL_TYPE值调用 HwStorUnitControl,该值指定要由微型端口执行的单元控制操作。

要求

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

另请参阅

HwStorUnitControl