IVdsDiskPartitionMF::FormatPartitionEx メソッド (vds.h)
[Windows 8とWindows Server 2012以降、Virtual Disk Service COM インターフェイスは Windows Storage Management API に置き換えられます。
既存の OEM、ESP、または不明なパーティションを書式設定します。
構文
HRESULT FormatPartitionEx(
[in] ULONGLONG ullOffset,
[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] ullOffset
ディスクの先頭からのパーティションのバイト オフセット。 このオフセットは、パーティションの先頭のオフセットである必要があります。
[in] pwszFileSystemTypeName
パーティションのフォーマットに使用するファイル システムの名前を含む NULL で終わる Unicode 文字列。 NULL または "NTFS"、"FAT"、"FAT32"、"UDF"、または "EXFAT" のいずれかである必要があります。 このパラメーターが NULL の場合は、既定値が使用されます。
[in] usFileSystemRevision
ファイル システムのリビジョン (存在する場合)。 このメンバーは 16 ビットの 2 進コード 10 進数で表されます。ここで、小数点は 2 桁目と 3 桁目の間に暗黙的に指定されます。 たとえば、0x0250 の値はリビジョン 2.50 を示します。
[in] ulDesiredUnitAllocationSize
ファイル システムの割り当て単位のサイズ (バイト単位)。 値は 2 の累乗である必要があります。 値が 0 の場合は、ファイル システムの種類によって決定される既定の割り当て単位が使用されます。 割り当て単位の範囲は、ファイル システムに依存します。
[in] pwszLabel
ボリュームの新しいファイル システムに割り当てる Null で終わる Unicode 文字列。 ラベルの最大サイズはファイル システムによって異なります。
[in] bForce
パーティションが使用されているかどうかに関係なく、ファイル システム形式を強制するかどうかを決定するブール値。
[in] bQuickFormat
ファイル システム ボリュームがクイックフォーマットされているかどうかを決定するブール値。 クイック形式では、ボリューム上の各セクターは検証されません。
[in] bEnableCompression
圧縮を有効にしてファイル システムを作成するかどうかを決定するブール値。
[out] ppAsync
正常に完了すると IVdsAsync インターフェイスを受け取り、この操作を監視および制御する IVdsAsync インターフェイスへのポインター。 呼び出し元は、受信したインターフェイスが完了したら、それを解放する必要があります。
戻り値
このメソッドは、E_INVALIDARGやE_OUTOFMEMORYなどの標準の HRESULT 値と、VDS 固有の戻り値を返すことができます。 また、HRESULT_FROM_WIN32 マクロを使用して、変換されたシステム エラー コードを返すこともできます。 エラーは、VDS 自体または使用されている基になる VDS プロバイダー から発生する可能性があります。 可能な戻り値は次のとおりです。
リターン コード/値 | 説明 |
---|---|
|
ボリュームが正常にパーティション分割されました。 |
|
プロバイダーが不適切なデータを返しました。 |
|
この操作は、リムーバブル メディアではサポートされていません。 |
|
既定のファイル システムを特定できませんでした。 |
|
ディスクがありません。 |
|
パーティションが存在しません。 |
|
操作は、OEM 以外のパーティションではサポートされていません。 |
さらに、 IVdsAsync インターフェイスは、次の関連する警告とエラー コードを返すことができます。
リターン コード/値 | Description |
---|---|
|
ファイル システムはフォーマットされていますが、圧縮されていません。 |
|
アクセスが拒否されました。 |
|
ラベルが無効です。 |
|
ボリュームをクイックフォーマットすることはできません。 |
|
クラスターの数が大きすぎるため、32 ビット整数として表されません。 |
|
クラスターのサイズが大きすぎるため、書式設定が可能です。 |
|
クラスターのサイズが小さすぎて書式設定が可能です。 |
|
ファイル システムに互換性がありません。 |
|
メディアに互換性がありません。 |
|
フォーマット中に I/O エラーが発生しました。 |
|
メディアは書き込み保護されています。 |
|
ボリューム サイズが大きすぎてフォーマットが行えなすぎます。 |
|
ボリューム サイズが小さすぎて書式設定が行えなすぎます。 |
注釈
このメソッドは、OEM、ESP、不明なパーティションのみを書式設定します。 他のパーティションの場合は、代わりに IVdsVolumeMF::Format メソッドまたは IVdsVolumeMF2::FormatEx メソッドを使用して、対応するボリュームを書式設定する必要があります。 OEM、ESP、不明なパーティションはボリュームとして公開されないため、 Format または FormatEx で書式設定できないことに注意してください。
このメソッドは、リムーバブル メディアの書式設定には使用できません。
OEM パーティションが FAT または FAT32 として書式設定されている場合、パーティションの種類は変更されません。 NTFS でフォーマットされている場合、パーティションの種類は PARTITION_IFS (0x07) に変わります。 パーティションの種類については、「 CREATE_PARTITION_PARAMETERS」を参照してください。
最小および最大の割り当て単位サイズ (クラスター サイズとも呼ばれます) などのファイル システムの制限の詳細については、「 NTFS テクニカル リファレンス 」および「 FAT テクニカル リファレンス」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | vds.h |
Library | Uuid.lib |