IVdsLun::QueryActiveControllers メソッド (vdshwprv.h)
[Windows 8とWindows Server 2012以降、Virtual Disk Service COM インターフェイスは Windows Storage Management API に置き換えられます。
現在アクティブなコントローラー (LUN にアクセスできるコントローラー) の列挙体を返します。
構文
HRESULT QueryActiveControllers(
[out] IEnumVdsObject **ppEnum
);
パラメーター
[out] ppEnum
サブシステム内のコントローラーをコントローラー オブジェクトとして列挙するために使用できる IEnumVdsObject インターフェイス ポインターのアドレス。 詳細については、「 列挙オブジェクトの操作」を参照してください。 呼び出し元は、 IUnknown::Release メソッドを呼び出して不要になった場合に、インターフェイスと各コントローラー オブジェクトを解放する必要があります。
戻り値
このメソッドは、E_INVALIDARGやE_OUTOFMEMORYなどの標準の HRESULT 値と、VDS 固有の戻り値を返すことができます。 また、HRESULT_FROM_WIN32 マクロを使用して、変換されたシステム エラー コードを返すこともできます。 エラーは、VDS 自体または使用されている基になる VDS プロバイダー から発生する可能性があります。 可能な戻り値は次のとおりです。
リターン コード/値 | 説明 |
---|---|
|
アクティブなコントローラーの列挙を返します。 LUN にアクティブなコントローラーがない場合、列挙は空です。 |
|
この戻り値は、配列に関する情報をキャッシュするプロバイダー内のソフトウェアまたは通信の問題を通知します。 キャッシュを復元するには、 IVdsHwProvider::Reenumerate メソッドの後に IVdsHwProvider::Refresh メソッドを使用します。 |
|
LUN オブジェクトが存在しなくなりました。 |
|
LUN が失敗状態であり、要求された操作を実行できません。 |
|
別の操作が進行中です。この操作は、前の操作または操作が完了するまで続行できません。 |
注釈
コントローラーを設定するには、 IVdsLun::AssociateControllers メソッドを使用します。 IVdsController::QueryAssociated Luns メソッドを使用して、特定のコントローラーに関連付けられている LUN に対してクエリを実行します。
ほとんどのサブシステムでは、LUN に対してアクティブなコントローラーが 1 つだけ提供され、他のコントローラーはスタンバイ モードのままです。 ただし、一部のサブシステム製造元では、複数の同時にアクティブなコントローラーが許可されています。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | vdshwprv.h |
Library | Uuid.lib |