次の方法で共有


IVdsAdvancedDisk::Clean メソッド (vds.h)

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

パーティション情報を削除し、ベーシック ディスクまたはダイナミック ディスクを初期化解除します。

Windows Server 2003: Clean メソッドは、リムーバブル デバイスではサポートされていません。

構文

HRESULT Clean(
  [in]  BOOL      bForce,
  [in]  BOOL      bForceOEM,
  [in]  BOOL      bFullClean,
  [out] IVdsAsync **ppAsync
);

パラメーター

[in] bForce

TRUE の場合は、データ ボリュームまたは ESP パーティションを含むディスクをクリーンアップします。

[in] bForceOEM

TRUE の場合は、次の表に示す既知の OEM パーティションを含む MBR ベースのディスクをクリーンアップするか、OEM パーティションを含む GPT ベースのディスクをクリーンアップします。 OEM パーティションには、GPT ベースのディスクに GPT_ATTRIBUTE_PLATFORM_REQUIRED フラグが設定されています。

パーティションの種類 説明
0x12 EISA パーティション。
0x84 ラップトップ用の休止状態パーティション。
0xA0 一部の HP ノート PC の診断パーティション。
0xDE Dell によって定義されたパーティション。
0xFE IBM IML パーティション。

[in] bFullClean

TRUE の場合は、各セクターのデータをゼロに置き換えてディスク全体をクリーンアップします。それ以外の場合、このメソッドはディスク上の最初と最後のメガバイトのみをクリーンアップします。

[out] ppAsync

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

戻り値

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

リターン コード/値 説明
S_OK
データが正常に削除され、ディスクが初期化されていません。
VDS_E_NO_MEDIA
0x80042412L
リムーバブル デバイスにメディアがありません。
VDS_E_MISSING_DISK
0x80042454L
ディスクがありません。
VDS_E_OPERATION_DENIED
0x8004240AL
操作は、次のいずれかの条件で失敗しました。
  • ディスクに OEM パーティションが含まれており、 bForceOEM が false です。
  • ディスクにボリュームまたは ESP パーティションが含まれており、 bForceFALSE です
  • ディスクには、 bForceTRUEFALSE かに関係なく、システム ボリュームのいずれかが含まれます。 システム ボリュームには、次のいずれかの項目を指定できます。
    • オペレーティング システム ローダーを含むボリューム。
    • system32 ディレクトリを含むブート ボリューム。
    • ページファイルまたは休止状態ファイルを含むボリューム、またはクラッシュ ダンプとして使用されるボリューム。
    • ESP パーティション (システムが起動するパーティション)。
VDS_S_DISK_PARTIALLY_CLEANED
0x0004241AL
パーティション テーブルはクリーンアップされますが、完全なクリーン時にすべてのセクターがクリーンアップされるわけではありません。 または、最初のメガバイトと最後のメガバイトの一部のセクターがクリーンアップされます。ただし、クリーンが完全にクリーンでない限り、残りのセクターはクリーニングされません。

解説

このメソッドを呼び出す前に、呼び出し元は、ボリュームごとに IVdsVolumeMF::D ismount を呼び出して、ディスク上のマウントされたボリュームをマウント解除する必要があります。

ディスク上のすべてのデータ ボリューム、既知の OEM パーティション、ESP パーティションを最初に削除しない限り、 bForce パラメーター、 bForceOEM パラメーター、またはその両方をこのメソッドで使用します。 この要件では、MSR、LDM メタデータ パーティション、不明な OEM パーティションなどのメタデータ パーティションは除外されます。

Windows Server 2003: Clean メソッドは、リムーバブル デバイスではサポートされていません。

実装者は、呼び出しが非同期操作を開始するかどうかに関係なく、このメソッドの IVdsAsync インターフェイスへのポインターを返す必要があります。

要件

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

関連項目

Disk オブジェクト

IVdsAdvancedDisk

IVdsAsync