共用方式為


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
程式庫 Uuid.lib

另請參閱

IVdsVolumeMF2::FormatEx

IVdsVolumeMF3

VDS_FILE_SYSTEM_FORMAT_SUPPORT_FLAG

VDS_FORMAT_OPTION_FLAGS