CREATE_VIRTUAL_DISK_PARAMETERS 结构 (virtdisk.h)

包含虚拟硬盘 (VHD) 创建参数,提供对新创建的虚拟磁盘的控制和相关信息。

语法

typedef struct _CREATE_VIRTUAL_DISK_PARAMETERS {
  CREATE_VIRTUAL_DISK_VERSION Version;
  union {
    struct {
      GUID      UniqueId;
      ULONGLONG MaximumSize;
      ULONG     BlockSizeInBytes;
      ULONG     SectorSizeInBytes;
      PCWSTR    ParentPath;
      PCWSTR    SourcePath;
    } Version1;
    struct {
      GUID                   UniqueId;
      ULONGLONG              MaximumSize;
      ULONG                  BlockSizeInBytes;
      ULONG                  SectorSizeInBytes;
      ULONG                  PhysicalSectorSizeInBytes;
      PCWSTR                 ParentPath;
      PCWSTR                 SourcePath;
      OPEN_VIRTUAL_DISK_FLAG OpenFlags;
      VIRTUAL_STORAGE_TYPE   ParentVirtualStorageType;
      VIRTUAL_STORAGE_TYPE   SourceVirtualStorageType;
      GUID                   ResiliencyGuid;
    } Version2;
  };
} CREATE_VIRTUAL_DISK_PARAMETERS, *PCREATE_VIRTUAL_DISK_PARAMETERS;

成员

Version

来自CREATE_VIRTUAL_DISK_VERSION枚举的值,该值是联合的判别值。

含义
CREATE_VIRTUAL_DISK_VERSION_1
1
使用此结构的 Version1 成员。
CREATE_VIRTUAL_DISK_VERSION_2
2
使用此结构的 Version2 成员。

Version1

如果 Version 成员 CREATE_VIRTUAL_DISK_VERSION_1 ( 1) ,则使用此结构。

Version1.UniqueId

要分配给虚拟磁盘对象的唯一标识符。 如果此成员设置为零,则由系统创建唯一标识符。

Version1.MaximumSize

虚拟磁盘对象的最大虚拟大小(以字节为单位)。 必须是 512 的倍数。

如果指定 了 ParentPath ,则此值必须为零。

如果指定 了 SourcePath ,则此值可以为零以指定要使用的源虚拟磁盘的大小,否则指定的大小必须大于或等于源磁盘的大小。

Version1.BlockSizeInBytes

虚拟磁盘对象块的内部大小(以字节为单位)。 必须将其设置为以下值之一。

含义
CREATE_VIRTUAL_DISK_PARAMETERS_DEFAULT_BLOCK_SIZE
0
这是默认值,表示块大小为 2 MB。
524288 (0x80000)
块大小为 512 KB。
2097152 (0x200000)
块大小为 2 MB

Version1.SectorSizeInBytes

虚拟磁盘对象扇区的内部大小。 必须设置为 512。

含义
CREATE_VIRTUAL_DISK_PARAMETERS_DEFAULT_SECTOR_SIZE
0x200
默认且仅允许的大小,512 字节。

Version1.ParentPath

父虚拟磁盘对象的可选 完全限定 路径。 将新虚拟磁盘与现有虚拟磁盘相关联。

如果此参数不为 NULL则 SourcePath 必须为 NULL

Version1.SourcePath

用于使用现有磁盘中的块数据预填充新虚拟磁盘对象的可选 完全限定 路径。 此路径可能引用虚拟磁盘或物理磁盘。

如果此参数不为 NULL则 ParentPath 必须为 NULL

Version2

如果 Version 成员 CREATE_VIRTUAL_DISK_VERSION_2 ( 2) ,则使用此结构。

Windows 7 和 Windows Server 2008 R2: 在Windows 8和Windows Server 2012之前,不支持此结构。

Version2.UniqueId

要分配给虚拟磁盘对象的唯一标识符。 如果此成员设置为零,则由系统创建唯一标识符。

Version2.MaximumSize

虚拟磁盘对象的最大虚拟大小(以字节为单位)。 必须是 512 的倍数。

如果指定 了 ParentPath ,则此值必须为零。

如果指定 了 SourcePath ,则此值可以为零以指定要使用的源虚拟磁盘的大小,否则指定的大小必须大于或等于源磁盘的大小。

Version2.BlockSizeInBytes

虚拟磁盘对象块的内部大小(以字节为单位)。 对于 VHDX,这必须是介于 1 到 256 MB 之间的 1 MB 的倍数。 对于 VHD 1,必须将其设置为以下值之一。

含义
CREATE_VIRTUAL_DISK_PARAMETERS_DEFAULT_BLOCK_SIZE
0
这是默认值,表示块大小为 2 MB。 这是固定 VHD 1 虚拟磁盘唯一支持的值。
524288 (0x80000)
块大小为 512 KB。 固定 VHD 1 虚拟磁盘不支持此值。
2097152 (0x200000)
块大小为 2 MB。 固定 VHD 1 虚拟磁盘不支持此值。

Version2.SectorSizeInBytes

虚拟磁盘对象扇区的内部大小。 对于 VHDX,必须设置为 512 (0x200) 或 4096 (0x1000) 。 对于 VHD 1,必须设置为 512。

Version2.PhysicalSectorSizeInBytes

Version2.ParentPath

父虚拟磁盘对象的可选 完全限定 路径。 将新虚拟磁盘与现有虚拟磁盘相关联。

如果此参数不为 NULL则 SourcePath 必须为 NULL

Version2.SourcePath

用于使用现有磁盘中的块数据预填充新虚拟磁盘对象的可选 完全限定 路径。 此路径可能引用虚拟磁盘或物理磁盘。

如果此参数不为 NULL则 ParentPath 必须为 NULL

Version2.OpenFlags

OPEN_VIRTUAL_DISK_FLAG枚举中的零个或多个标志,描述如何打开虚拟磁盘。

Version2.ParentVirtualStorageType

描述 ParentPath 成员中指定的父虚拟磁盘的VIRTUAL_STORAGE_TYPE结构。

Version2.SourceVirtualStorageType

描述 SourcePath 成员中指定的源虚拟磁盘的VIRTUAL_STORAGE_TYPE结构。

Version2.ResiliencyGuid

文件的复原 GUID

注意

以下以 Version3 和 Version4 开头的参数供内部使用。

Version3

Version3.UniqueId

Version3.MaximumSize

Version3.BlockSizeInBytes

Version3.SectorSizeInBytes

Version3.PhysicalSectorSizeInBytes

Version3.ParentPath

Version3.SourcePath

Version3.OpenFlags

Version3.ParentVirtualStorageType

Version3.SourceVirtualStorageType

Version3.ResiliencyGuid

Version3.SourceLimitPath

Version3.BackingStorageType

Version4

Version4.UniqueId

Version4.MaximumSize

Version4.BlockSizeInBytes

Version4.SectorSizeInBytes

Version4.PhysicalSectorSizeInBytes

Version4.ParentPath

Version4.SourcePath

Version4.OpenFlags

Version4.ParentVirtualStorageType

Version4.SourceVirtualStorageType

Version4.ResiliencyGuid

Version4.SourceLimitPath

Version4.BackingStorageType

Version4.PmemAddressAbstractionType

Version4.DataAlignment

要求

要求
最低受支持的客户端 Windows 7
最低受支持的服务器 Windows Server 2008 R2
标头 virtdisk.h

另请参阅

关于 VHD

CreateVirtualDisk

命名文件、路径和命名空间

VHD 参考

VHD 结构