Share via


IVdsVolumeMF2::FormatEx 方法 (vds.h)

[從Windows 8和Windows Server 2012開始,虛擬磁碟服務COM 介面會由Windows 儲存體管理 API取代。

格式化磁碟分割上的檔案系統磁片區。

語法

HRESULT FormatEx(
  [in]  LPWSTR    pwszFileSystemTypeName,
  [in]  USHORT    usFileSystemRevision,
  [in]  ULONG     ulDesiredUnitAllocationSize,
  [in]  LPWSTR    pwszLabel,
  [in]  BOOL      bForce,
  [in]  BOOL      bQuickFormat,
  [in]  BOOL      bEnableCompression,
  [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] bForce

布林值,判斷是否強制檔案系統格式,不論資料分割是否正在使用中。

[in] bQuickFormat

布林值,判斷檔案系統磁片區是否為快速格式。 快速格式不會驗證磁片區上的每個磁區。

[in] bEnableCompression

布林值,決定是否要建立已啟用壓縮的檔案系統磁片區。

注意 如果檔案系統不是 NTFS,則會忽略此參數。
 

[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 加密。

備註

如果 OEM 磁碟分割格式化為 FAT 或 FAT32,則資料分割類型不會變更。 如果格式化為 NTFS,則分割區類型會變更為 PARTITION_IFS (0x07) 。 如需資料分割類型的相關資訊,請參閱 CREATE_PARTITION_PARAMETERS

如果針對受 BitLocker 完整磁片區加密保護的磁片區呼叫這個方法,則會停用磁片區的 BitLocker 加密,直到使用者重新啟用為止。

如需檔案系統限制的詳細資訊,例如最小和最大配置單位大小 (也稱為叢集大小) ,請參閱 NTFS 技術參考FAT 技術參考

規格需求

   
最低支援的用戶端 Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 [僅限傳統型應用程式]
目標平臺 Windows
標頭 vds.h
程式庫 Uuid.lib

另請參閱

IVdsVolumeMF2