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枚举的值,该值是联合的判别值。
值 | 含义 |
---|---|
|
使用此结构的 Version1 成员。 |
|
使用此结构的 Version2 成员。 |
Version1
如果 Version 成员 CREATE_VIRTUAL_DISK_VERSION_1 ( 1) ,则使用此结构。
Version1.UniqueId
要分配给虚拟磁盘对象的唯一标识符。 如果此成员设置为零,则由系统创建唯一标识符。
Version1.MaximumSize
虚拟磁盘对象的最大虚拟大小(以字节为单位)。 必须是 512 的倍数。
如果指定 了 ParentPath ,则此值必须为零。
如果指定 了 SourcePath ,则此值可以为零以指定要使用的源虚拟磁盘的大小,否则指定的大小必须大于或等于源磁盘的大小。
Version1.BlockSizeInBytes
虚拟磁盘对象块的内部大小(以字节为单位)。 必须将其设置为以下值之一。
值 | 含义 |
---|---|
|
这是默认值,表示块大小为 2 MB。 |
|
块大小为 512 KB。 |
|
块大小为 2 MB |
Version1.SectorSizeInBytes
虚拟磁盘对象扇区的内部大小。 必须设置为 512。
值 | 含义 |
---|---|
|
默认且仅允许的大小,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,必须将其设置为以下值之一。
值 | 含义 |
---|---|
|
这是默认值,表示块大小为 2 MB。 这是固定 VHD 1 虚拟磁盘唯一支持的值。 |
|
块大小为 512 KB。 固定 VHD 1 虚拟磁盘不支持此值。 |
|
块大小为 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 |