IVdsDiskPartitionMF2::FormatPartitionEx2 メソッド (vds.h)

[Windows 8とWindows Server 2012以降、仮想ディスク サービス COM インターフェイスは Windows Storage Management 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 ビットの 2 進コード 10 進数で表されます。ここで、小数点は 2 桁目と 3 桁目の間に暗黙的に指定されます。 たとえば、0x0250 の値はリビジョン 2.50 を示します。

[in] ulDesiredUnitAllocationSize

ファイル システムの割り当て単位のサイズ (バイト単位)。 値は 2 の累乗である必要があります。 値が 0 の場合は、ファイル システムの種類によって決定される既定の割り当て単位が使用されます。 割り当て単位の範囲は、ファイル システムに依存します。

[in] pwszLabel

パーティションの新しいファイル システムに割り当てるラベルを含む NULL で終わる Unicode 文字列。 ラベルの最大サイズはファイル システムによって異なります。

[in] Options

書式設定オプションを指定 VDS_FORMAT_OPTION_FLAGS 列挙値のビットマスク。

[out] ppAsync

正常に完了すると IVdsAsync インターフェイスを受け取り、この操作を監視および制御する IVdsAsync インターフェイスへのポインター。 呼び出し元は、受信したインターフェイスが完了したら、それを解放する必要があります。

戻り値

このメソッドは、E_INVALIDARGやE_OUTOFMEMORYなどの標準の HRESULT 値と、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 インターフェイスは、次の関連する警告とエラー コードを返すことができます。

リターン コード/値 説明
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