次の方法で共有


IVdsController::SetStatus メソッド (vds.h)

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

コントローラーの状態を指定した値に設定します。

構文

HRESULT SetStatus(
  [in] VDS_CONTROLLER_STATUS status
);

パラメーター

[in] status

VDS_CONTROLLER_STATUSによって列挙された値。 呼び出し元は、可能な列挙値のサブセットを渡すことができます。 VDS_CS_UNKNOWN を渡すと、E_INVALIDARGが返されます。

戻り値

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

リターン コード/値 説明
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
この戻り値は、配列に関する情報をキャッシュするプロバイダー内のソフトウェアまたは通信の問題を示します。 キャッシュを復元するには、 IVdsHwProvider::Reenumerate メソッドの後に IVdsHwProvider::Refresh メソッドを使用します。
VDS_E_OBJECT_DELETED
0x8004240BL
コントローラー オブジェクトが存在しなくなりました。
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
コントローラーが失敗状態であり、要求された操作を実行できません。
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
別の操作が進行中です。この操作は、前の操作または操作が完了するまで続行できません。
VDS_E_NOT_SUPPORTED
0x80042400L
この操作またはパラメーターの組み合わせは、このプロバイダーではサポートされていません。

解説

このメソッドを使用すると、1 つのコントローラーの状態を設定できます。 IVdsSubSystem::SetControllerStatus メソッドを呼び出すことで、サブシステム内のすべてのコントローラーの状態を一度に設定できます。 コントローラーの現在の状態を取得するには、 IVdsController::GetProperties メソッドを使用します。

実装者は、状態を指定された状態に取得するために必要な操作を実行する必要があります。 たとえば、呼び出し元がコントローラーの状態として VDS_CS_OFFLINE を渡す場合は、最初にコントローラーのキャッシュをクリアする必要があります。

要件

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

関連項目

IVdsController

IVdsController::GetProperties

IVdsHwProvider::Reenumerate

IVdsHwProvider::Refresh

IVdsSubSystem::SetControllerStatus

VDS_CONTROLLER_STATUS