STOR_DEVICE_CAPABILITIES 结构 (srb.h)

STOR_DEVICE_CAPABILITIES 结构向 SCSI 端口驱动程序报告设备功能,以响应 SCSI 请求块中的功能查询, (具有SRB_FUNCTION_PNP函数的 SRB) 。 STOR_DEVICE_CAPABILITIES 是包含与存储设备相关的成员 的DEVICE_CAPABILITIES 结构的子集。

语法

typedef struct _STOR_DEVICE_CAPABILITIES {
  USHORT Version;
  ULONG  DeviceD1 : 1;
  ULONG  DeviceD2 : 1;
  ULONG  LockSupported : 1;
  ULONG  EjectSupported : 1;
  ULONG  Removable : 1;
  ULONG  DockDevice : 1;
  ULONG  UniqueID : 1;
  ULONG  SilentInstall : 1;
  ULONG  SurpriseRemovalOK : 1;
  ULONG  NoDisplayInUI : 1;
} STOR_DEVICE_CAPABILITIES, *PSTOR_DEVICE_CAPABILITIES;

成员

Version

指定 结构的版本。 设置为按 SCSI 端口STOR_DEVICE_CAPABILITIES_EX_VERSION_1。

DeviceD1

指定设备硬件是否支持 D1 电源状态。 微型端口驱动程序将此位设置为 0。

DeviceD2

指定设备硬件是否支持 D2 电源状态。 微型端口驱动程序将此位设置为 0。

LockSupported

指定设备是否支持阻止设备弹出的物理设备锁定。 此成员与弹出 LUN 或单元设备有关。

EjectSupported

指定当系统处于 PowerSystemWorking 状态时,设备是否支持软件控制的设备弹出。 此成员与弹出 LUN 或单元设备有关。

Removable

指定是否可以从其直接父级动态删除设备。 如果 可移动 设置为 TRUE:

  • 设备不属于与其父级相同的物理对象。
  • 设备显示在拔出或弹出硬件程序中,除非 SurpriseRemovalOK 也设置为 TRUE。

DockDevice

指定设备是否为停靠外围设备。

UniqueID

指定设备的实例 ID 在系统范围内是否是唯一的。 如果实例 ID 仅在总线范围内是唯一的,则此位是明确的。

SilentInstall

指定设备管理器是否应禁止显示所有安装对话框;所需对话框除外,例如“找不到兼容的驱动程序”。

SurpriseRemovalOK

指定设备的微型端口驱动程序是否可以处理在 SCSI 端口发送SRB_FUNCTION_PNP之前删除设备的情况,并将 StorRemoveDevice 作为 SCSI_PNP_REQUEST_BLOCK 结构中的 PnPAction。 如果 SurpriseRemovalOK 设置为 TRUE,则可以从其直接父级安全地删除设备,而不管其驱动程序处于何种状态。

NoDisplayInUI

不要在用户界面中显示设备。 如果设置了此位,则设备永远不会显示在用户界面中,即使设备存在但无法启动也是如此。 微型端口驱动程序不会设置此位。

注解

当微型端口驱动程序在其 HwStorStartIo 例程中收到 SRB,其中 SRB 函数SRB_FUNCTION_PNP时,SRB 的格式设置为 SCSI_PNP_REQUEST_BLOCK 结构。 如果 SRB 的 PnPAction 成员是 StorQueryCapabilities,则微型端口可以在 SRB 的 DataBuffer 成员中返回STOR_DEVICE_CAPABILITIES结构。

SCSI 端口将此结构发送到所有成员初始化为 0 的微型端口。

从 Windows 8 开始,微型端口应使用 STOR_DEVICE_CAPABILITIES_EX 结构来指示对其他功能的支持。

要求

要求
最低受支持的客户端 从 Windows Vista 开始可用。
标头 srb.h (包括 Storport.h、Minitape.h、Srb.h)

另请参阅

DEVICE_CAPABILITIES

SCSI_PNP_REQUEST_BLOCK

STOR_DEVICE_CAPABILITIES_EX