IVdsAdvancedDisk::CreatePartition 方法 (vds.h)

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

在基本磁盘上创建分区。

IVdsCreatePartitionEx::CreatePartitionEx 方法取代了此方法。

语法

HRESULT CreatePartition(
  [in]  ULONGLONG                   ullOffset,
  [in]  ULONGLONG                   ullSize,
  [in]  CREATE_PARTITION_PARAMETERS *para,
  [out] IVdsAsync                   **ppAsync
);

参数

[in] ullOffset

分区偏移量。

[in] ullSize

新分区的大小(以字节为单位)。

[in] para

指向CREATE_PARTITION_PARAMETERS结构定义的参数 指针。

[out] ppAsync

VDS 在返回时初始化的 IVdsAsync 接口指针的地址。 调用方必须释放接口。 使用此指针可以取消、等待或查询操作的状态。

返回值

此方法可以返回标准 HRESULT 值,例如E_INVALIDARG或E_OUTOFMEMORY,以及 特定于 VDS 的返回值。 它还可以使用 HRESULT_FROM_WIN32 宏返回转换的系统错误代码。 错误可能源自 VDS 本身或正在使用的基础 VDS 提供程序 。 可能的返回值包括以下内容。

返回代码/值 说明
S_OK
已成功创建分区。
VDS_E_NO_MEDIA
0x80042412L
可移动驱动器中没有媒体。
VDS_E_INVALID_OPERATION
0x80042415L
媒体不支持此操作。 例如,调用方无法在 CD-ROM 上创建分区。
VDS_E_NOT_SUPPORTED
0x80042400L
不支持在可移动媒体上创建第二个分区。 或者,此错误指示磁盘是动态磁盘。
VDS_E_PARTITION_LIMIT_REACHED
0x80042407L
调用方尝试创建其他主分区或扩展分区时,已存在 4 个主 (分区或 3 个主分区和 1 个扩展) 的最大分区数。
VDS_S_UPDATE_BOOTFILE_FAILED
0x00042434L
已成功创建分区,但 VDS 无法更新启动配置数据 (BCD) 存储中的启动选项。

Windows Server 2003: 启动选项存储在 x86 或 x64 系统上的 boot.ini 文件中,或者存储在 Itanium 系统上的 NVRAM 中。

要求

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

另请参阅

CREATE_PARTITION_PARAMETERS

Disk 对象

IVdsAdvancedDisk

IVdsAsync

IVdsCreatePartitionEx::CreatePartitionEx