VDS_LUN_INFORMATION 结构 (vdslun.h)
[从Windows 8和Windows Server 2012开始,虚拟磁盘服务 COM 接口由 Windows 存储管理 API 取代。]
定义有关 LUN 或磁盘的信息。 应用程序可以使用此结构来随时唯一标识 LUN。
语法
typedef struct _VDS_LUN_INFORMATION {
ULONG m_version;
BYTE m_DeviceType;
BYTE m_DeviceTypeModifier;
BOOL m_bCommandQueueing;
VDS_STORAGE_BUS_TYPE m_BusType;
char *m_szVendorId;
char *m_szProductId;
char *m_szProductRevision;
char *m_szSerialNumber;
GUID m_diskSignature;
VDS_STORAGE_DEVICE_ID_DESCRIPTOR m_deviceIdDescriptor;
ULONG m_cInterconnects;
VDS_INTERCONNECT *m_rgInterconnects;
} VDS_LUN_INFORMATION;
成员
m_version
此结构的版本。 当前值是 常量VER_VDS_LUN_INFORMATION。
m_DeviceType
LUN 的 SCSI-2 设备类型。
m_DeviceTypeModifier
LUN 的 SCSI-2 设备类型修饰符。 对于没有设备类型修饰符的 LUN,值为零。
m_bCommandQueueing
如果 为 TRUE,则 LUN 支持多个未完成的命令;否则为 FALSE。 队列的同步由端口驱动程序负责。
m_BusType
VDS_STORAGE_BUS_TYPE 枚举的 LUN 的总线类型。
m_szVendorId
指向 LUN 供应商标识符的指针;一个以零结尾、可读的字符串。 对于没有供应商标识符的设备,值为零。
m_szProductId
指向 LUN 产品标识符(通常是型号)的指针;一个以零结尾、可读的字符串。 对于没有产品标识符的设备,该值为零。
m_szProductRevision
指向 LUN 产品修订的指针;一个以零结尾、可读的字符串。 对于没有产品修订版的设备,值为零。
m_szSerialNumber
指向 LUN 序列号的指针;一个以零结尾、可读的字符串。 对于没有序列号的设备,值为零。
m_diskSignature
LUN 的签名。 对于使用主启动记录 (MBR) 分区结构的磁盘,GUID 的前 32 位构成磁盘签名,其余位为零。 对于使用 GUID 分区表 (GPT) 分区结构的磁盘,GUID 由 GPT 磁盘标识符组成。 如果此值为零,则磁盘未初始化或硬件提供程序无法检索签名。
m_deviceIdDescriptor
包含各种格式的 LUN 描述符的数组,例如“VDSStorageIdTypeFCPHName”和“VDSStorageIdTypeVendorSpecific”。 提供程序可以使用“VDSStorageIdTypeVendorSpecific”来存储供应商选择的任意字节字符串,以唯一标识 LUN。 请参阅 VDS_STORAGE_DEVICE_ID_DESCRIPTOR 结构和 VDS_STORAGE_IDENTIFIER 结构。
m_cInterconnects
m_rgInterconnects中指定的互连端口数。
m_rgInterconnects
指向可通过该端口访问 LUN 的互连端口数组的指针。 请参阅 VDS_INTERCONNECT 结构。
注解
VDS_LUN_INFORMATION结构包括来自 SCSI 查询数据和重要产品数据页0x80和0x83的字段。 IVdsLun 和 IVdsDisk 接口上的 GetIdentificationData 方法将返回此结构。 它还作为 参数在 IVdsHwProviderPrivate::QueryIfCreatedLun 方法中传递,以确定给定提供程序是否拥有指定的 LUN。
若要获取 LUN 对象,请使用 IVdsService::GetObject 方法。 然后,可以使用 IVdsLun::GetProperties 方法获取 LUN 属性。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
标头 | vdslun.h (包括用于硬件提供商的 Vds.h、VdsHwPrv.h) |
另请参阅
IVdsDisk::GetIdentificationData
IVdsHwProviderPrivate::QueryIfCreatedLun
IVdsLun::GetIdentificationData