IVdsVolumeMF3::FormatEx2 方法 (vds.h)

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

格式化分区上的文件系统卷。 此方法与 IVdsVolumeMF2::FormatEx 方法相同,只是使用 Options 参数指定格式设置选项。

语法

HRESULT FormatEx2(
  [in]  LPWSTR    pwszFileSystemTypeName,
  [in]  USHORT    usFileSystemRevision,
  [in]  ULONG     ulDesiredUnitAllocationSize,
  [in]  LPWSTR    pwszLabel,
  [in]  DWORD     Options,
  [out] IVdsAsync **ppAsync
);

参数

[in] pwszFileSystemTypeName

一个 以 null 结尾的 Unicode 字符串,其中包含用于格式化卷的文件系统的名称。 此参数可以为 NULL ,也可以是 Windows 文件系统的名称。 支持以下文件系统:“NTFS”、“FAT”、“FAT32”、“UDF”和“EXFAT”。 如果此参数为 NULL,则使用默认文件系统。 有关详细信息,请参阅 VDS_FILE_SYSTEM_FORMAT_SUPPORT_FLAG

[in] usFileSystemRevision

文件系统的修订(如果有)。 此成员表示为 16 位二进制编码的十进制数,其中小数点在第二位和第三位之间隐含。 例如,值为 0x0250 表示修订版 2.50。

[in] ulDesiredUnitAllocationSize

文件系统的分配单元大小(以字节为单位)。 该值必须是 2 的幂。 如果值为 0,则将使用由文件系统类型确定的默认分配单元。 分配单元范围依赖于文件系统。

[in] pwszLabel

要分配给新文件系统的 以 null 结尾的 Unicode 字符串。 最大标签大小取决于文件系统。

[in] Options

指定格式设置选项的 VDS_FORMAT_OPTION_FLAGS 枚举值的位掩码。

[out] ppAsync

指向 IVdsAsync 接口的指针,该接口在成功完成后接收 IVdsAsync 接口以监视和控制此操作。 调用方必须在使用完接口后释放收到的接口。

返回值

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

返回代码/值 说明
S_OK
0x00000000L
已成功格式化文件系统。
VDS_E_OPERATION_DENIED
0x8004240AL
如果调用方尝试格式化系统、启动、故障转储、休眠或页面文件卷,则会拒绝该操作。
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
卷已失败。
VDS_E_PACK_OFFLINE
0x80042444L
包含该卷的包不可访问。 脱机包中的所有卷都不可访问。
VDS_E_FS_NOT_DETERMINED
0x80042593L
无法确定默认文件系统。
 

此外, IVdsAsync 接口可以返回以下相关警告和错误代码。

返回代码/值 说明
VDS_E_INCOMPATIBLE_FILE_SYSTEM
0x80042425L
文件系统不兼容。
VDS_E_INCOMPATIBLE_MEDIA
0x80042426L
媒体不兼容。
VDS_E_ACCESS_DENIED
0x80042427L
访问被拒绝。
VDS_E_MEDIA_WRITE_PROTECTED
0x80042428L
媒体受写保护。
VDS_E_BAD_LABEL
0x80042429L
标签无效。
VDS_E_CANT_QUICK_FORMAT
0x8004242AL
无法快速格式化卷。
VDS_E_IO_ERROR
0x8004242BL
格式化期间发生 I/O 错误。
VDS_E_VOLUME_TOO_SMALL
0x8004242CL
卷大小太小,无法格式化。
VDS_E_VOLUME_TOO_BIG
0x8004242DL
卷大小太大,无法格式化。
VDS_E_CLUSTER_SIZE_TOO_SMALL
0x8004242EL
群集大小太小,无法进行格式设置。
VDS_E_CLUSTER_SIZE_TOO_BIG
0x8004242FL
群集大小太大,无法进行格式设置。
VDS_E_CLUSTER_COUNT_BEYOND_32BITS
0x80042430L
群集数太大,无法表示为 32 位整数。
VDS_S_VOLUME_COMPRESS_FAILED
0x00042443L
文件系统已格式化,但未压缩。
VDS_E_CANT_INVALIDATE_FVE
0x80042592L
无法为卷禁用 BitLocker 加密。

要求

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

另请参阅

IVdsVolumeMF2::FormatEx

IVdsVolumeMF3

VDS_FILE_SYSTEM_FORMAT_SUPPORT_FLAG

VDS_FORMAT_OPTION_FLAGS