VDS_DISK_PROP2結構 (vds.h)
[從 Windows 8 和 Windows Server 2012 開始,虛擬磁碟服務 COM 介面會由 Windows 記憶體管理 API 取代。
定義 磁碟物件的屬性。 此結構與 VDS_DISK_PROP 結構相同,不同之處在於它也會包含位置路徑,如果磁碟脫機,則為離線的原因。
語法
typedef struct _VDS_DISK_PROP2 {
VDS_OBJECT_ID id;
VDS_DISK_STATUS status;
VDS_DISK_OFFLINE_REASON OfflineReason;
VDS_LUN_RESERVE_MODE ReserveMode;
VDS_HEALTH health;
DWORD dwDeviceType;
DWORD dwMediaType;
ULONGLONG ullSize;
ULONG ulBytesPerSector;
ULONG ulSectorsPerTrack;
ULONG ulTracksPerCylinder;
ULONG ulFlags;
VDS_STORAGE_BUS_TYPE BusType;
VDS_PARTITION_STYLE PartitionStyle;
union {
DWORD dwSignature;
GUID DiskGuid;
};
LPWSTR pwszDiskAddress;
LPWSTR pwszName;
LPWSTR pwszFriendlyName;
LPWSTR pwszAdaptorName;
LPWSTR pwszDevicePath;
LPWSTR pwszLocationPath;
} VDS_DISK_PROP2, *PVDS_DISK_PROP2;
成員
id
磁碟物件的 GUID。
status
指定磁碟狀態 的VDS_DISK_STATUS 列舉值。如果 VDS 服務無法開啟磁碟的句柄,它會將此成員設定為 VDS_DS_UNKNOWN。
OfflineReason
如果磁碟脫機,這個成員是 VDS_DISK_OFFLINE_REASON 列舉值,指定它離線的原因。
ReserveMode
這個成員保留供未來使用。
health
指定磁碟健全狀況狀態 的VDS_HEALTH 列舉值。 以下是這個成員的有效值。
VDS_H_UNKNOWN (0)
VDS_H_HEALTHY (1)
VDS_H_FAILING (4)
VDS_H_FAILED (8)
dwDeviceType
Winioctl.h 中定義的裝置類型,其中包括下列類型:
dwMediaType
STORAGE_MEDIA_TYPE列舉的媒體類型。 基本和動態磁碟會對應至 FixedMedia 列舉值。 如需詳細資訊,請參閱 STORAGE_MEDIA_TYPE。
ullSize
磁碟的大小,以位元組為單位。 若要判斷磁碟的磁碟區大小上限,請呼叫 IVdsDisk3::QueryFreeExtents 並新增所有可用範圍的大小。
ulBytesPerSector
每個扇區中的位元組數目。
ulSectorsPerTrack
每個追蹤中的扇區數目。
ulTracksPerCylinder
每個圓柱中的曲目數目。
ulFlags
指定各種磁碟屬性 之VDS_DISK_FLAG 列舉值的位掩碼。
BusType
VDS_STORAGE_BUS_TYPE列舉的輸入/輸出總線類型。
PartitionStyle
指定數據分割樣式 的VDS_PARTITION_STYLE 列舉。 這個成員是等位的辨別。
dwSignature
如果 PartitionStyleVDS_PST_MBR ( 1) ,則使用 。 MBR 磁碟分區的簽章。 這個值不保證是唯一的。
DiskGuid
如果 PartitionStyleVDS_PST_GPT (2) ,則會使用 。 The
磁碟的 GUID。 此外,每個 GPT 磁碟分區都有自己的 GUID。 (請參閱 VDS_PARTITION_INFO_GPT.)
pwszDiskAddress
埠NNN 路徑 NNN目標NNN Lun NNN格式中類似 SCSI 的磁碟位址,其中NNN是一或多個數位。
SCSI 磁碟、IDE 磁碟和光纖通道磁碟可以有這類位址。 USB 和 1394 磁碟有不同的位址格式,而且不會儲存。
這個成員是選擇性的,如果沒有可用的值,則可以是 NULL 。 如果不是 NULL,其長度必須大於或等於 22 WCHAR,且小於或等於 64 WCHAR,包括必要的 NULL 終止符。 呼叫 IVdsDisk3::GetProperties2 來接收VDS_DISK_PROP2結構的應用程式必須檢查此成員是否為 NULL。
pwszName
用來開啟使用 CreateFile 函式所建立物件句柄的名稱。 例如:
pwszFriendlyName
隨插即用 (PnP) Manager 所傳回的名稱。 此名稱會由 隨插即用 Manager 維護於 Windows 登錄中,例如:「SEAGATE ST34573N SCSI 磁碟裝置」。
pwszAdaptorName
此磁碟所連接的適配卡名稱。 PnP 管理員會傳回在 Windows 登錄中維護的名稱,例如:「Adaptec AHA-2940U2W - Ultra2 SCSI」。
pwszDevicePath
PnP 管理員傳回的字串。 PnP 管理員會使用裝置路徑來唯一識別電腦上的裝置。 如需詳細資訊,請參閱 SP_DEVICE_INTERFACE_DETAIL_DATA_W。
pwszLocationPath
字串,包含磁碟的 PnP 位置路徑。 此字串的格式取決於總線類型。 如果總線類型為 SCSI、SAS 或 PCI RAID,格式為 AdapterPnpLocationPath#BusType (PPathIdTTargetIdLLunId) 。 如果總線類型為 IDE、ATA、PATA 或 SATA,格式為 AdapterPnpLocationPath#BusType (CPathId T TargetIdLLunId) 。 如需列出此字串部分的數據表,請參閱下列一節。
備註
IVdsDisk3::GetProperties2 方法會傳回這個結構來報告磁碟對象的屬性。
下表列出 pwszLocationPath 成員中使用的位置路徑字串部分。
位置路徑部分 | Description |
---|---|
AdapterPnpLocationPath | 配接器的 PnP 位置路徑。 這是藉由呼叫 SetupDiGetDeviceProperty 函式來擷取,並傳遞 PropertyKey 參數的 &DEVPKEY_Device_LocationPaths。 |
BusType | 總線類型:ATA、RAID、SAS 或 SCSI。 注意 如果總線類型是 IDE、PATA 或 SATA,它會在位置路徑字串中顯示為 ATA。 如果是 PCI RAID,則會顯示為 RAID。
|
PathId | 公交車的數目。 這是IOCTL_SCSI_GET_ADDRESS控件程式代碼所傳回之SCSI_ADDRESS結構的PathId成員值。 |
TargetId | 目標裝置的數目。 這是IOCTL_SCSI_GET_ADDRESS控件程式代碼所傳回之SCSI_ADDRESS結構的 TargetId 成員值。 |
LunId | LUN 的數目。 這是IOCTL_SCSI_GET_ADDRESS控件程式代碼所傳回之SCSI_ADDRESS結構的 Lun 成員值。 |
下表包含位置路徑的範例。
匯流排類型 | 範例位置路徑 |
---|---|
ATA | PCIROOT (0) #PCI (0100) #ATA (C01T03L00) |
RAID | PCIROOT (0) #PCI (0200) #PCI (0003) #PCI (0100) #RAID (P02T00L00) |
SAS | PCIROOT (1) #PCI (0300) #SAS (P00T03L00) |
SCSI | PCIROOT (0) #PCI (1C00) #PCI (0000) #SCSI (P00T01L01) |
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 [僅限傳統型應用程式] |
最低支援的伺服器 | Windows Server 2008 R2 [僅限桌面應用程式] |
標頭 | vds.h |