STOR_DEVICE_CAPABILITIES_EX结构(minitape.h)
STOR_DEVICE_CAPABILITIES_EX 结构向 Storport 驱动程序报告设备功能,以响应具有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,则设备不属于其父对象所在的物理对象。
如果 可移动 设置为 TRUE,则设备会显示在“拔出”或“弹出硬件”程序中,除非 SurpriseRemovalOK 也设置为 TRUE。
DockDevice
指定设备是否为停靠外围设备。
UniqueID
指定设备的实例 ID 是否是唯一的系统范围。 如果实例 ID 仅在总线范围内唯一,则此位是明确的。
SilentInstall
指定 设备管理器 是否应禁止显示所有安装对话框;“找不到兼容的驱动程序”等对话框除外。
RawDeviceOK
指定基础总线的驱动程序是否可以在没有功能驱动程序(例如传递模式下的 SCSI 设备)的情况下驱动设备。 此作模式称为原始模式。
SurpriseRemovalOK
指定设备微型端口驱动程序是否可以处理在 Storport 可以使用 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 标志成员 HW_INITIALIZATION_DATA 中设置STOR_FEATURE_FULL_PNP_DEVICE_CAPABILITIES标志,然后才能调用 StorPortInitialize。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | Windows 8 |
标头 | minitape.h (包括 Storport.h、Minitape.h、Srb.h) |