GET_VIRTUAL_DISK_INFO 結構 (virtdisk.h)
包含虛擬硬碟 (VHD) 資訊。
語法
typedef struct _GET_VIRTUAL_DISK_INFO {
GET_VIRTUAL_DISK_INFO_VERSION Version;
union {
struct {
ULONGLONG VirtualSize;
ULONGLONG PhysicalSize;
ULONG BlockSize;
ULONG SectorSize;
} Size;
GUID Identifier;
struct {
BOOL ParentResolved;
WCHAR ParentLocationBuffer[1];
} ParentLocation;
GUID ParentIdentifier;
ULONG ParentTimestamp;
VIRTUAL_STORAGE_TYPE VirtualStorageType;
ULONG ProviderSubtype;
BOOL Is4kAligned;
BOOL IsLoaded;
struct {
ULONG LogicalSectorSize;
ULONG PhysicalSectorSize;
BOOL IsRemote;
} PhysicalDisk;
ULONG VhdPhysicalSectorSize;
ULONGLONG SmallestSafeVirtualSize;
ULONG FragmentationPercentage;
GUID VirtualDiskId;
struct {
BOOL Enabled;
BOOL NewerChanges;
WCHAR MostRecentId[1];
} ChangeTrackingState;
};
} GET_VIRTUAL_DISK_INFO, *PGET_VIRTUAL_DISK_INFO;
成員
Version
GET_VIRTUAL_DISK_INFO_VERSION 列舉的值,指定要傳遞至虛擬磁碟函式或從虛擬磁碟函式傳遞GET_VIRTUAL_DISK_INFO結構的版本。 這會決定將使用這個 結構的哪些部分。
Size
具有下列成員的結構。 將 Version 成員設定為 GET_VIRTUAL_DISK_INFO_SIZE。
Size.VirtualSize
虛擬磁碟的虛擬大小,以位元組為單位。
Size.PhysicalSize
實體磁碟上虛擬磁碟的實體大小,以位元組為單位。
Size.BlockSize
虛擬磁碟的區塊大小,以位元組為單位。
Size.SectorSize
虛擬磁碟的扇區大小,以位元組為單位。
Identifier
虛擬磁碟的唯一標識碼。 將 Version 成員設定為 GET_VIRTUAL_DISK_INFO_IDENTIFIER。
ParentLocation
具有下列成員的結構。 將 Version 成員設定為 GET_VIRTUAL_DISK_INFO_PARENT_LOCATION。
ParentLocation.ParentResolved
父解析度。 如果 成功解析父代備份存儲區,則為TRUE,否則為 FALSE 。
ParentLocation.ParentLocationBuffer[1]
如果 ParentResolved 成員為 TRUE,則包含父備份儲存區的路徑。
如果 ParentResolved 成員為 FALSE,則包含搜尋清單中所有父路徑。
ParentIdentifier
父磁碟備份儲存區的唯一標識符。 將 Version 成員設定為 GET_VIRTUAL_DISK_INFO_PARENT_IDENTIFIER。
ParentTimestamp
父磁碟備份儲存區的內部時間戳。 將 Version 成員設定為 GET_VIRTUAL_DISK_INFO_PARENT_TIMESTAMP。
VirtualStorageType
VIRTUAL_STORAGE_TYPE 結構,其中包含虛擬磁碟類型的相關信息。 將 Version 成員設定為 GET_VIRTUAL_DISK_INFO_VIRTUAL_STORAGE_TYPE。
ProviderSubtype
提供者特定的子類型。 將 Version 成員設定為 GET_VIRTUAL_DISK_INFO_PROVIDER_SUBTYPE。
值 | 意義 |
---|---|
|
固定。 |
|
可動態擴充 (疏鬆) 。 |
|
差分。 |
Is4kAligned
指出虛擬磁碟是否對齊 4 KB。 將 Version 成員設定為 GET_VIRTUAL_DISK_INFO_IS_4K_ALIGNED。
Windows 7 和 Windows Server 2008 R2: Windows 8 和 Windows Server 2012 之前,不支援此功能。
IsLoaded
指出虛擬磁碟目前是否已掛接且正在使用中。 如果 虛擬磁碟目前已掛接且正在使用中,則為TRUE;否則為 FALSE。 將 Version 成員設定為 GET_VIRTUAL_DISK_INFO_IS_LOADED。
Windows 8 和 Windows Server 2012:在 Windows 8.1 和 Windows Server 2012 R2 之前,不支援此功能。
PhysicalDisk
虛擬磁碟所在實體磁碟的詳細數據。 將 Version 成員設定為 GET_VIRTUAL_DISK_INFO_PHYSICAL_DISK。
Windows 7 和 Windows Server 2008 R2: Windows 8 和 Windows Server 2012 之前,不支援此功能。
PhysicalDisk.LogicalSectorSize
實體磁碟的邏輯扇區大小。
PhysicalDisk.PhysicalSectorSize
實體磁碟的實體扇區大小。
PhysicalDisk.IsRemote
指出實體磁碟是否為遠端。
VhdPhysicalSectorSize
虛擬磁碟的實體扇區大小。 將 Version 成員設定為 GET_VIRTUAL_DISK_INFO_VHD_PHYSICAL_SECTOR_SIZE。
Windows 7 和 Windows Server 2008 R2: Windows 8 和 Windows Server 2012 之前,不支援此功能。
SmallestSafeVirtualSize
虛擬磁碟的最小安全最小大小。 將 Version 成員設定為 GET_VIRTUAL_DISK_INFO_SMALLEST_SAFE_VIRTUAL_SIZE。
Windows 7 和 Windows Server 2008 R2: Windows 8 和 Windows Server 2012 之前,不支援此功能。
FragmentationPercentage
虛擬磁碟的片段層級。 將 Version 成員設定為 GET_VIRTUAL_DISK_INFO_FRAGMENTATION。
Windows 7 和 Windows Server 2008 R2: Windows 8 和 Windows Server 2012 之前,不支援此功能。
VirtualDiskId
當使用者第一次建立虛擬磁碟以嘗試唯一識別該虛擬磁碟時所建立的標識碼。 將 Version 成員設定為 GET_VIRTUAL_DISK_INFO_VIRTUAL_DISK_ID。
Windows 8 和 Windows Server 2012:在 Windows 8.1 和 Windows Server 2012 R2 之前,不支援此功能。
ChangeTrackingState
虛擬磁碟的復原變更追蹤狀態 (RCT) 。 將 Version 成員設定為 GET_VIRTUAL_DISK_INFO_CHANGE_TRACKING_STATE。
Windows 8.1 和 Windows Server 2012 R2:Windows 10 和 Windows Server 2016 之前,不支援此成員。
ChangeTrackingState.Enabled
是否開啟 RCT。 如果 RCT 已開啟,則為 TRUE;否則為 FALSE。
ChangeTrackingState.NewerChanges
自 MostRecentId 成員所識別的變更發生後,虛擬磁碟是否已變更。 如果 虛擬磁碟自 MostRecentId 成員所識別的變更發生後變更,則為TRUE;否則為 FALSE。
ChangeTrackingState.MostRecentId[1]
變更的變更追蹤標識碼,可識別您要用來做為比較基礎的虛擬磁碟狀態,以判斷 NewerChanges 成員是否報告新的變更。
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows 7 |
最低支援的伺服器 | Windows Server 2008 R2 |
標頭 | virtdisk.h |