STOR_DEVICE_CAPABILITIES_EX 结构 (srb.h)
STOR_DEVICE_CAPABILITIES_EX结构向 SCSI 端口驱动程序报告设备功能,以响应 SCSI 请求块 (SRB) 的功能查询,其函数为 SRB_FUNCTION_PNP。 STOR_DEVICE_CAPABILITIES 是包含与存储设备相关的成员 的DEVICE_CAPABILITIES 结构的子集。
语法
typedef struct _STOR_DEVICE_CAPABILITIES_EX {
USHORT Version;
USHORT Size;
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 RawDeviceOK : 1;
ULONG SurpriseRemovalOK : 1;
ULONG NoDisplayInUI : 1;
ULONG DefaultWriteCacheEnabled : 1;
ULONG Reserved0 : 20;
ULONG Address;
ULONG UINumber;
ULONG Reserved1[2];
} STOR_DEVICE_CAPABILITIES_EX, *PSTOR_DEVICE_CAPABILITIES_EX;
成员
Version
指定结构的版本。 设置为 Storport STOR_DEVICE_CAPABILITIES_EX_VERSION_1。
Size
指定结构的大小。 将 设置为 sizeof (STOR_DEVICE_CAPABILITIES_EX) by Storport。
DeviceD1
指定设备硬件是否支持 D1 电源状态。 微型端口驱动程序将此位设置为 0。
DeviceD2
指定设备硬件是否支持 D2 电源状态。 微型端口驱动程序将此位设置为 0。
LockSupported
指定设备是否支持阻止设备弹出的物理设备锁定。 此成员与弹出 LUN 或单元设备相关。
EjectSupported
指定在系统处于 PowerSystemWorking 状态时设备是否支持软件控制的设备弹出。 此成员与弹出 LUN 或单元设备相关。
Removable
指定是否可以从其直接父级动态删除设备。 如果 可移动 设置为 TRUE:
- 设备不属于其父级的同一物理对象。
- 设备显示在拔出或弹出硬件程序中,除非 SurpriseRemovalOK 也设置为 TRUE。
DockDevice
指定设备是否为停靠外设。
UniqueID
指定设备的实例 ID 在系统范围内是否是唯一的。 如果实例 ID 仅在总线范围内是唯一的,则此位是明确的。
SilentInstall
指定设备管理器是否应禁止显示所有安装对话框;所需对话框除外,例如“找不到兼容的驱动程序”。
RawDeviceOK
指定在没有函数驱动程序的情况下,基础总线的驱动程序是否可以驱动设备 (例如,处于直通模式的 SCSI 设备) 。 此操作模式称为原始模式。
SurpriseRemovalOK
指定设备的微型端口驱动程序是否可以处理删除设备之前,SCSI 端口可以使用 StorRemoveDevice 作为 SCSI_PNP_REQUEST_BLOCK 结构中的 PnPAction 发送 SRB_FUNCTION_PNP 的情况。 如果将 SurpriseRemovalOK 设置为 TRUE,则可以从其直接父级安全地删除设备,而不管其驱动程序处于何种状态。
NoDisplayInUI
不要在用户界面中显示设备。 如果设置了此位,则设备永远不会显示在用户界面中,即使设备存在但无法启动。 微型端口驱动程序不设置此位。
DefaultWriteCacheEnabled
默认情况下,初始化时会启用存储设备的写入缓存。
Reserved0
保留位。
Address
存储单元设备的 LUN 地址。
UINumber
指定与可在用户界面中显示的设备关联的数字。
此数字可能是为方便用户查找物理设备的 ID 值而选择的 ID 值。 当 UINumber 未知时,微型端口驱动程序可以将此成员设置为其默认值0xFFFFFFFF。
Reserved1[2]
保留位。
注解
当微型端口驱动程序在其 HwStorStartIo 例程中收到 SRB,其中 SRB 函数SRB_FUNCTION_PNP时,SRB 将格式化为 SCSI_PNP_REQUEST_BLOCK 结构。 如果 SRB 的 PnPAction 成员是 StorQueryCapabilities,则微型端口可以在 SRB 的 DataBuffer 成员中返回STOR_DEVICE_CAPABILITIES_EX结构。
设备的弹出、删除和安装特征在 STOR_DEVICE_CAPABILITIES_EX 结构中设置。 若要支持使用此结构,微型端口必须在 HW_INITIALIZATION_DATA (SCSI) 中的 FeatureSupport 标志成员中设置 STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIES 标志,然后才能调用 ScsiPortInitialize。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | 从Windows 8开始可用。 |
标头 | srb.h (包括 Storport.h、Minitape.h、Srb.h) |