IVdsVolumeMF::Format 方法 (vds.h)
[从Windows 8和Windows Server 2012开始,虚拟磁盘服务 COM 接口由 Windows 存储管理 API 取代。]
设置当前卷上的文件系统的格式。
语法
HRESULT Format(
[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] 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 提供程序 。 可能的返回值包括以下内容。
返回代码/值 | 说明 |
---|---|
|
已成功格式化文件系统。 |
|
如果调用方尝试格式化系统卷、启动卷、故障转储卷、休眠卷或页面文件卷,则会拒绝该操作。 |
|
卷已失败。 |
|
包含该卷的包不可访问。 脱机包中的所有卷都不可访问。 |
此外, IVdsAsync 接口可以返回以下相关警告和错误代码。
返回代码/值 | 说明 |
---|---|
|
文件系统已格式化,但未压缩。 |
|
文件系统不兼容。 |
|
媒体不兼容。 |
|
访问被拒绝。 |
|
媒体受写保护。 |
|
标签无效。 |
|
无法快速格式化卷。 |
|
格式化期间发生 IO 错误。 |
|
卷大小太小,无法格式化。 |
|
卷大小太大,无法格式化。 |
|
群集大小太小,无法进行格式设置。 |
|
群集大小太大,无法进行格式设置。 |
|
群集数太大,无法表示为 32 位整数。 |
|
类型参数的值不是VDS_FST_NTFS、VDS_FST_FAT、VDS_FST_FAT32或VDS_FST_UDF。 |
|
无法为卷禁用 BitLocker 加密。 |
备注
若要在动态磁盘上创建启动卷,必须先调用 IVdsVolume::SetFlags 来设置 VDS_VF_INSTALLABLE 标志,然后再调用 Format 来格式化卷。
如果 OEM 分区的格式设置为 FAT 或 FAT32,则分区类型不会更改。 如果使用 NTFS 格式化,分区类型将更改为PARTITION_IFS (0x07) 。 有关分区类型的信息,请参阅 CREATE_PARTITION_PARAMETERS。
如果为受 BitLocker 全卷加密保护的卷调用此方法,则会对卷禁用 BitLocker 加密,直到用户重新启用它。
有关文件系统限制(例如最小和最大分配单元大小 (也称为群集大小) )的详细信息,请参阅 NTFS 技术参考 和 FAT 技术参考。
要求
最低受支持的客户端 | Windows Vista [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | vds.h |
Library | Uuid.lib |