STOR_DEVICE_CAPABILITIES_EX结构(srb.h)
STOR_DEVICE_CAPABILITIES_EX 结构向 SCSI 端口驱动程序报告设备功能,以响应具有SRB_FUNCTION_PNP功能的 SCSI 请求块(SRB)中的功能查询。 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
指定结构的大小。 设置为 Storport 的 sizeof(STOR_DEVICE_CAPABILITIES_EX)。
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 值,以便为用户更轻松地定位物理设备。 当 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 结构中设置设备的弹出、删除和安装特征。 若要支持使用此结构,微型端口必须在 FeatureSupport 标志成员中设置STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIES标志,HW_INITIALIZATION_DATA (SCSI),然后才能调用 ScsiPortInitialize。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | 从 Windows 8 开始可用。 |
标头 | srb.h (包括 Storport.h、Minitape.h、Srb.h) |