共用方式為


IVdsDiskPartitionMF2::FormatPartitionEx2 方法 (vds.h)

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

格式化現有的 OEM、ESP 或未知磁碟分區。 這個方法與 IVdsDiskPartitionMF::FormatPartition 方法相同,不同之處在於使用 Options 參數來指定格式化選項。

語法

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

參數

[in] ullOffset

磁碟開頭的磁碟分區位移。 此位移必須是分割區開頭的位移。

[in] pwszFileSystemTypeName

NULL 終止的 Unicode 字串,其中包含格式化數據分割的檔案系統名稱。 必須是 NULL 或下列其中一項:“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
磁碟區已成功分割。
VDS_E_BAD_PROVIDER_DATA
0x80042441L
提供者傳回不正確的數據。
VDS_E_DISK_REMOVEABLE
0x8004255AL
卸除式媒體不支援此作業。
VDS_E_FS_NOT_DETERMINED
0x80042593L
無法判斷預設檔案系統。
VDS_E_MISSING_DISK
0x80042454L
磁碟遺失。
VDS_E_OBJECT_NOT_FOUND
0x80042405L
分割區不存在。
VDS_E_PARTITION_NOT_OEM
0x8004256FL
非 OEM 磁碟分區不支援此作業。
 

此外, IVdsAsync 介面可以傳回下列相關的警告和錯誤碼。

傳回碼/值 Description
VDS_S_VOLUME_COMPRESS_FAILED
0x00042443L
檔案系統已格式化,但未壓縮。
VDS_E_ACCESS_DENIED
0x80042427L
存取遭到拒絕。
VDS_E_BAD_LABEL
0x80042429L
標籤無效。
VDS_E_CANT_QUICK_FORMAT
0x8004242AL
磁碟區無法快速格式化。
VDS_E_CLUSTER_COUNT_BEYOND_32BITS
0x80042430L
叢集數目太大,無法以32位整數表示。
VDS_E_CLUSTER_SIZE_TOO_BIG
0x8004242FL
叢集大小太大,無法允許格式化。
VDS_E_CLUSTER_SIZE_TOO_SMALL
0x8004242EL
叢集大小太小,無法允許格式化。
VDS_E_INCOMPATIBLE_FILE_SYSTEM
0x80042425L
檔系統不相容。
VDS_E_INCOMPATIBLE_MEDIA
0x80042426L
媒體不相容。
VDS_E_IO_ERROR
0x8004242BL
格式期間發生 I/O 錯誤。
VDS_E_MEDIA_WRITE_PROTECTED
0x80042428L
媒體受到寫入保護。
VDS_E_VOLUME_TOO_BIG
0x8004242DL
磁碟區大小太大而無法格式化。
VDS_E_VOLUME_TOO_SMALL
0x8004242CL
磁碟區大小太小而無法格式化。

規格需求

需求
最低支援的用戶端 Windows 7 [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2008 R2 [僅限桌面應用程式]
目標平台 Windows
標頭 vds.h

另請參閱

IVdsDiskPartitionMF2

VDS_FILE_SYSTEM_FORMAT_SUPPORT_FLAG

VDS_FORMAT_OPTION_FLAGS