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

具有以下成员的 结构。 将 “版本成员 ”设置为 “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

含义
2
 已修复。
3
可动态扩展 (稀疏) 。
4
差异。

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

另请参阅

关于 VHD

GET_VIRTUAL_DISK_INFO_VERSION

GetVirtualDiskInformation

VHD 参考