IVdsAdvancedDisk::D eletePartition 方法 (vds.h)

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

从基本磁盘中删除分区。

语法

HRESULT DeletePartition(
  [in] ULONGLONG ullOffset,
  [in] BOOL      bForce,
  [in] BOOL      bForceProtected
);

参数

[in] ullOffset

分区偏移量。

[in] bForce

如果此参数设置为 TRUE,VDS 将无条件删除所有分区, (不包括 OEM、ESP 或 MSR) 。 如果设置为 FALSE,则当分区正在使用时,操作将失败。 如果锁定或卸载卷的调用失败,则分区被视为正在使用中。

[in] bForceProtected

如果此参数设置为 TRUE,VDS 将无条件删除所有受保护的分区 (包括 OEM、ESP 和 MSR) 。 如果设置为 FALSE,则如果分区受保护,操作将失败。

返回值

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

返回代码/值 说明
S_OK
已成功删除分区。
VDS_E_INVALID_OPERATION
0x80042415L
媒体不支持此操作。 例如,不能删除 CD-ROM 上的分区。
VDS_E_NOT_SUPPORTED
0x80042400L
动态磁盘不支持此操作。
VDS_E_PARTITION_NOT_EMPTY
0x80042408L
扩展分区不为空。
VDS_E_BAD_PROVIDER_DATA
0x80042441L
此值指示提供程序错误。 操作已中止。
VDS_E_DEVICE_IN_USE
0x80042413L
分区正在使用中。
VDS_S_ACCESS_PATH_NOT_DELETED
0x00044244L
已成功删除分区,但 VDS 未能删除访问路径。
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

另请参阅

Disk 对象

IVdsAdvancedDisk