IVdsVolumeMF::Format メソッド (vds.h)

[Windows 8とWindows Server 2012以降、仮想ディスク サービス COM インターフェイスは Windows Storage Management API に置き換えられます。

現在のボリューム上のファイル システムの書式を設定します。

構文

HRESULT Format(
  [in]  VDS_FILE_SYSTEM_TYPE type,
  [in]  LPWSTR               pwszLabel,
  [in]  DWORD                dwUnitAllocationSize,
  [in]  BOOL                 bForce,
  [in]  BOOL                 bQuickFormat,
  [in]  BOOL                 bEnableCompression,
  [out] IVdsAsync            **ppAsync
);

パラメーター

[in] type

使用するファイル システムを指定する VDS_FILE_SYSTEM_TYPE 列挙値。 VDS_FST_NTFS、VDS_FST_FAT、VDS_FST_FAT32、またはVDS_FST_UDFのいずれかである必要があります。

[in] pwszLabel

ファイル システム ラベルを表す文字列。

[in] dwUnitAllocationSize

ファイル システムの割り当て単位のサイズ (通常は 512 ~ 65536)。

[in] bForce

TRUE の場合、ファイル システムは使用中でも無条件に書式設定されます。それ以外の場合、操作は失敗します。

[in] bQuickFormat

TRUE の場合、VDS はクイック形式を実行します (ボリューム上の各セクターは検証されません)。

[in] bEnableCompression

TRUE の場合、新しく書式設定されたファイル システムで圧縮が有効になります。 圧縮は NTFS の機能であり、FAT と FAT32 では無視されます。

[out] ppAsync

戻り時に VDS が初期化する IVdsAsync インターフェイス ポインターのアドレス。 呼び出し元はインターフェイスを解放する必要があります。 操作の状態をキャンセル、待機、またはクエリするには、このポインターを使用します。

戻り値

このメソッドは、E_INVALIDARGやE_OUTOFMEMORYなどの標準の HRESULT 値と、 VDS 固有の戻り値を返すことができます。 また、HRESULT_FROM_WIN32 マクロを使用して、変換されたシステム エラー コードを返すこともできます。 エラーは、VDS 自体または使用されている基になる VDS プロバイダー から発生する可能性があります。 可能な戻り値は次のとおりです。

リターン コード/値 説明
S_OK
ファイル システムが正常に書式設定されました。
VDS_E_OPERATION_DENIED
0x8004240AL
呼び出し元がシステム、ブート、クラッシュダンプ、休止状態、またはページファイルボリュームのフォーマットを試みると、操作は拒否されます。
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
ボリュームが失敗しました。
VDS_E_PACK_OFFLINE
0x80042444L
ボリュームを含むパックにアクセスできません。 オフライン パック内のすべてのボリュームにアクセスできません。
 

さらに、 IVdsAsync インターフェイスは、次の関連する警告とエラー コードを返すことができます。

リターン コード/値 説明
VDS_S_VOLUME_COMPRESS_FAILED
0x00042443L
ファイル システムは書式設定されていますが、圧縮されません。
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
形式中に IO エラーが発生しました。
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_E_INVALID_FS_TYPE
0x80042561L
パラメーターの値がVDS_FST_NTFS、VDS_FST_FAT、VDS_FST_FAT32、またはVDS_FST_UDFされていませんでした。
VDS_E_CANT_INVALIDATE_FVE
0x80042592L
ボリュームに対して BitLocker 暗号化を無効にできませんでした。

解説

ダイナミック ディスクにブート ボリュームを作成するには、 IVdsVolume::SetFlags を呼び出して VDS_VF_INSTALLABLE フラグを設定してから 、Format を 呼び出してボリュームのフォーマットを行う必要があります。

OEM パーティションが FAT または FAT32 として書式設定されている場合、パーティションの種類は変更されません。 NTFS でフォーマットされている場合、パーティションの種類は PARTITION_IFS (0x07) に変わります。 パーティションの種類については、「 CREATE_PARTITION_PARAMETERS」を参照してください。

BitLocker フル ボリューム暗号化によって保護されているボリュームに対してこのメソッドが呼び出された場合、ユーザーが再度有効にするまで、そのボリュームに対する BitLocker 暗号化は無効になります。

最小および最大の割り当て単位サイズ (クラスター サイズとも呼ばれます) などのファイル システムの制限の詳細については、「 NTFS テクニカル リファレンス 」および「 FAT テクニカル リファレンス」を参照してください。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー vds.h
Library Uuid.lib

関連項目

IVdsAsync

IVdsVolumeMF

VDS_FILE_SYSTEM_TYPE