IVdsServiceUninstallDisk::UninstallDisks メソッド (vds.h)

[Windows 8とWindows Server 2012以降、Virtual Disk Service COM インターフェイスは Windows Storage Management API に置き換えられます。

ディスクのセットをアンインストールします。

構文

HRESULT UninstallDisks(
  [in]  VDS_OBJECT_ID *pDiskIdArray,
  [in]  ULONG         ulCount,
  [in]  BOOLEAN       bForce,
  [out] BOOLEAN       *pbReboot,
  [out] HRESULT       *pResults
);

パラメーター

[in] pDiskIdArray

アンインストールするディスクごとに 1 つずつ、VDS オブジェクト ID の配列を含むバッファーのアドレス。 配列内の各 ID は一意である必要があります。

[in] ulCount

pDiskIdArray パラメーターが指すバッファー内の VDS オブジェクト ID の数。

[in] bForce

TRUE の場合、ボリュームをロックまたはマウント解除できない場合でも、VDS はディスクをアンインストールします。

[out] pbReboot

ユーザーがコンピューターを再起動してアンインストール プロセスを完了する必要がある場合に TRUE を受け取る BOOLEAN 変数のアドレス。

[out] pResults

HRESULT 値の呼び出し元によって割り当てられた配列のアドレス。 配列内の要素の数は、 pDiskIdArray パラメーターによって指されます。 この配列の最初の要素は、 pDiskIdArray 内の最初の要素に対応しています。 いずれかのディスクが正しく初期化されない場合は、この配列の対応する要素でエラーの特定のエラー コードが返されます。

戻り値

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

リターン コード/値 説明
S_OK
0
ディスクが正常にアンインストールされました。
S_FALSE
1
このメソッドは、1 つ以上のディスクの警告またはエラー コードを返しました。
VDS_S_UNABLE_TO_GET_GPT_ATTRIBUTES
0x0004245BL
ディスクは正常にアンインストールされましたが、1 つ以上のディスクに対して GUID パーティション テーブル (GPT) 属性を取得できませんでした。
VDS_E_INTERNAL_ERROR
0x80042448L
VDS で内部エラーが発生しました。 詳細については、イベント ログを確認してください。
VDS_E_MISSING_DISK
0x80042454L
1 つ以上のディスクが見つかりません。
VDS_E_NO_DISK_PATHNAME
0x8004270FL
1 つ以上のディスクのパスを取得できませんでした。
VDS_E_NO_VOLUME_PATHNAME
0x80042711L
1 つ以上のボリュームのパスを取得できませんでした。
VDS_E_OBJECT_DELETED
0x8004240BL
指定された VDS オブジェクト ID の 1 つ以上が、存在しなくなったディスクに対応しています。
VDS_E_OBJECT_NOT_FOUND
0x80042405L
指定された VDS オブジェクト ID の 1 つ以上が、存在しないディスクに対応しています。
VDS_E_PROVIDER_CACHE_OUTOFSYNC
0x80042712L
プロバイダーのキャッシュがドライバー キャッシュと同期していません。

注釈

VDS は、このメソッドを実装します。

このメソッドは同期的であり、最初に指定されたディスク上のボリュームをアンインストールしてから、ディスクをアンインストールします。 ディスクがアンインストールされると、対応する LUN をマスク (非表示) または削除できます。

このメソッドは、ディスク上のボリュームに割り当てられたドライブ文字をクリーンアップします。 さらに、マウント解除ハンドルが閉じられた後、ディスクが実際に削除される前にボリュームが再マウントされないように、ボリュームをオフラインに設定します。

複数のディスクにまたがる動的ボリュームを削除する場合は、デバイス マネージャー関数を使用する代わりにこのメソッドを呼び出す必要があります。

UninstallDisks メソッドがサポートされていない Windows Server 2003 リリースのディスクをアンインストールする方法については、IVdsLun::SetMask メソッドの「解説」セクションを参照してください。

要件

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

こちらもご覧ください

IVdsServiceUninstallDisk