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