IVdsAdvancedDisk::FormatPartition 方法 (vds.h)

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

设置现有 OEM、ESP 或未知分区的格式。

语法

HRESULT FormatPartition(
  [in]  ULONGLONG            ullOffset,
  [in]  VDS_FILE_SYSTEM_TYPE type,
  [in]  LPWSTR               pwszLabel,
  [in]  DWORD                dwUnitAllocationSize,
  [in]  BOOL                 bForce,
  [in]  BOOL                 bQuickFormat,
  [in]  BOOL                 bEnableCompression,
  [out] IVdsAsync            **ppAsync
);

参数

[in] ullOffset

分区偏移量。

[in] type

一个VDS_FILE_SYSTEM_TYPE枚举值,该值指定要使用的文件系统。 必须是下列项之一:VDS_FST_NTFS、VDS_FST_FAT、VDS_FST_FAT32或VDS_FST_UDF。

[in] pwszLabel

表示卷标签的字符串。

[in] dwUnitAllocationSize

文件系统分配单元的大小(以字节为单位),通常介于 512 和 65536 之间。

[in] bForce

如果 为 TRUE,则即使正在使用分区,分区也会格式化;否则,操作将失败。

[in] bQuickFormat

如果 为 TRUE,则 VDS 执行快速格式。 快速格式不会验证卷上的每个扇区。

[in] bEnableCompression

如果 为 TRUE,则对新格式化的文件系统启用压缩。 压缩是 NTFS 的一项功能,不能为 FAT 和 FAT32 文件系统设置压缩。

[out] ppAsync

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

返回值

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

返回代码/值 说明
S_OK
已成功格式化分区。
VDS_E_INVALID_OPERATION
0x80042415L
磁盘是可移动的,或者分区的类型不是 OEM、ESP 或未知的。
VDS_E_OBJECT_NOT_FOUND
0x80042405L
分区不存在。

注解

VDS 实现此方法。

此方法仅设置 OEM、ESP 和未知分区的格式。 对于其他分区,必须使用 IVdsVolumeMF::FormatIVdsVolumeMF2::FormatEx 方法格式化相应的卷。 请注意,OEM、ESP 和未知分区不会作为卷公开,因此不能使用 FormatFormatEx 进行格式化。

此方法不能用于格式化可移动媒体。

有关文件系统限制(例如最小和最大分配单元大小 (也称为群集大小) ),请参阅 NTFS 技术参考FAT 技术参考

如果 OEM 分区的格式设置为 FAT 或 FAT32,则分区类型不会更改。 如果使用 NTFS 格式化,分区类型将更改为PARTITION_IFS (0x07) 。 有关分区类型的信息,请参阅 CREATE_PARTITION_PARAMETERS

要求

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

另请参阅

Disk 对象

IVdsAdvancedDisk

IVdsAsync

IVdsDiskPartitionMF::FormatPartitionEx

VDS_FILE_SYSTEM_TYPE