CREATE_PARTITION_PARAMETERS结构 (vds.h)

[从Windows 8和Windows Server 2012开始,虚拟磁盘服务 COM 接口将被 Windows 存储管理 API 取代。

定义分区样式的分区参数。

语法

typedef struct _CREATE_PARTITION_PARAMETERS {
  VDS_PARTITION_STYLE style;
  union {
    struct {
      BYTE    partitionType;
      BOOLEAN bootIndicator;
    } MbrPartInfo;
    struct {
      GUID      partitionType;
      GUID      partitionId;
      ULONGLONG attributes;
      WCHAR     name[36];
    } GptPartInfo;
  };
} CREATE_PARTITION_PARAMETERS;

成员

style

MbrPartInfo

主启动记录 (MBR) 磁盘的参数。 如果样式VDS_PST_MBR,则使用。

MbrPartInfo.partitionType

指示系统定义的 MBR 分区类型。 可能的值如下:

Value 含义
PARTITION_ENTRY_UNUSED
0x00
未使用的条目。
PARTITION_FAT_12
0x01
指定具有 12 位 FAT 条目的分区。
PARTITION_XENIX_1
0x02
指定 XENIX 类型 1 分区。
PARTITION_XENIX_2
0x03
指定 XENIX 类型 2 分区。
PARTITION_FAT_16
0x04
指定具有 16 位 FAT 条目的分区。
PARTITION_EXTENDED
0x05
指定 MS-DOS V4 扩展分区。
PARTITION_HUGE
0x06
指定 MS-DOS V4 大型分区。 此值指示分区上没有 Microsoft 文件系统。 创建逻辑卷时,请使用此值。
PARTITION_IFS
0x07
指定 NTFS 或 ExFAT 分区。
PARTITION_OS2BOOTMGR
0x0A
指定 OS/2 启动管理器、OPUS 或相干交换分区。
PARTITION_FAT32
0x0B
指定 FAT32 分区。
PARTITION_FAT32_XINT13
0x0C
不支持此值。
PARTITION_XINT13
0x0E
不支持此值。
PARTITION_XINT13_EXTENDED
0x0F
不支持此值。
PARTITION_PREP
0x41
指定 PowerPC 引用平台分区。
PARTITION_LDM
0x42
指定逻辑磁盘管理器分区。
PARTITION_UNIX
0x63
指定 UNIX 分区。
PARTITION_NTFT
0x80
指定 NTFT 分区。 此值与此表中的其他值结合使用 (,即按位逻辑 ORed) 。

MbrPartInfo.bootIndicator

如果 为 TRUE,则分区处于活动状态,可以启动;否则,分区不能用于启动系统。

GptPartInfo

GUID 分区表 (GPT) 磁盘的参数。 如果样式VDS_PST_GPT,则使用。

GptPartInfo.partitionType

分区类型的 GUID。

Value 含义
PARTITION_ENTRY_UNUSED_GUID
00000000-0000-0000-0000-000000000000
没有分区。

可以为基本磁盘和动态磁盘设置此属性。

PARTITION_SYSTEM_GUID
c12a7328-f81f-11d2-ba4b-00a0c93ec93b
分区是 EFI 系统分区。

可以为基本磁盘和动态磁盘设置此属性。

PARTITION_MSFT_RESERVED_GUID
e3c9e316-0b5c-4db8-817d-f92df00215ae
分区是 Microsoft 保留分区。

可以为基本磁盘和动态磁盘设置此属性。

PARTITION_BASIC_DATA_GUID
ebd0a0a2-b9e5-4433-87c0-68b6b72699c7
由 Windows 创建和识别的数据分区类型。

只能分配此类型的分区、接收卷 GUID 路径、主机装载文件夹 (也称为卷装入点) ,并通过调用 FindFirstVolumeFindNextVolume 进行枚举。

此值只能为基本磁盘设置,但有一个例外。 如果为随后转换为动态磁盘的基本磁盘上的分区设置了PARTITION_BASIC_DATA_GUID和GPT_ATTRIBUTE_PLATFORM_REQUIRED,则分区仍然是一个基本分区,即使磁盘的其余部分是动态磁盘。 这是因为分区被视为 GPT 磁盘上的 OEM 分区。

PARTITION_LDM_METADATA_GUID
5808c8aa-7e8f-42e0-85d2-e1e90434cfb3
分区是动态磁盘上的逻辑磁盘管理器 (LDM) 元数据分区。

此值只能为动态磁盘设置。

PARTITION_LDM_DATA_GUID
af9b60a0-1431-4f62-bc68-3311714a69ad
分区是动态磁盘上的 LDM 数据分区。

只能为动态磁盘设置此值。

PARTITION_MSFT_RECOVERY_GUID
de94bba4-06d1-4d40-a16a-bfd50179d6ac
分区是 Microsoft 恢复分区。

可以为基本磁盘和动态磁盘设置此属性。

GptPartInfo.partitionId

如果分区的 ID。 如果设置为创建时GUID_NULL (0) ,将生成唯一值。

GptPartInfo.attributes

分区的属性。 该选项可以是如下一个或多个值:

Value 含义
GPT_ATTRIBUTE_PLATFORM_REQUIRED
0x0000000000000001
如果设置了此属性,计算机需要分区才能正常运行。

例如,必须为 OEM 分区设置此属性。 请注意,如果设置了此属性,可以使用DiskPart.exe实用工具执行分区操作,例如删除分区。 但是,由于分区不是卷,因此无法使用DiskPart.exe实用工具对分区执行卷操作。

可以为基本磁盘和动态磁盘设置此属性。 如果为基本磁盘上的分区设置了分区,并且磁盘转换为动态磁盘,则即使磁盘的其余部分是动态磁盘,分区仍为基本分区。 这是因为分区被视为 GPT 磁盘上的 OEM 分区。

GPT_BASIC_DATA_ATTRIBUTE_NO_DRIVE_LETTER
0x8000000000000000
如果设置了此属性,则默认情况下,当磁盘移动到另一台计算机或计算机首次看到磁盘时,分区不会收到驱动器号。

此属性在存储区域网络 (SAN) 环境中很有用。

尽管其名称,但可以为基本磁盘和动态磁盘设置此属性。

GPT_BASIC_DATA_ATTRIBUTE_HIDDEN
0x4000000000000000
如果设置了此属性,则装载管理器不会检测到分区。

因此,分区未收到驱动器号,未接收卷 GUID 路径,不托管装载的文件夹 (也称为卷装入点) ,并且不会通过调用 FindFirstVolumeFindNextVolume 枚举。 这可确保磁盘碎片整理程序等应用程序无法访问分区。 卷影复制服务 (VSS) 使用此属性。

尽管其名称,但可以为基本磁盘和动态磁盘设置此属性。

GPT_BASIC_DATA_ATTRIBUTE_SHADOW_COPY
0x2000000000000000
如果设置了此属性,则分区是另一个分区的卷影副本。

卷影复制服务 (VSS) 使用此属性。 此属性指示文件系统筛选器基于驱动程序的软件 (,例如防病毒程序) 以避免附加到卷。

应用程序可以使用此属性来区分卷影副本卷与生产卷。 例如,执行快速恢复的应用程序将通过清除只读和隐藏属性和此属性来破坏卷影复制 LUN。 当创建卷影副本并在卷影副本断开时清除时设置此属性。

尽管其名称,但可以为基本磁盘和动态磁盘设置此属性。

Windows Server 2003: Windows Server 2003 SP1 之前不支持此属性。

GPT_BASIC_DATA_ATTRIBUTE_READ_ONLY
0x1000000000000000
如果设置了此属性,则分区为只读。

写入分区的所有请求都将失败。
IOCTL_DISK_IS_WRITABLE 将失败,ERROR_WRITE_PROTECT Win32 错误代码会导致文件系统装载为只读(如果存在文件系统)。

VSS 使用此属性。

不要为动态磁盘设置此属性。 设置可能会导致 I/O 错误并阻止文件系统正确装载。

GptPartInfo.name[36]

以 Null 结尾的 Unicode 字符串,指定分区的名称。

注解

IVdsAdvancedDisk::CreatePartition 方法将此结构作为参数传递,以指定一组参数。

要求

   
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
标头 vds.h

请参阅

IVdsAdvancedDisk::CreatePartition

VDS 结构

VDS_PARTITION_STYLE