IVdsSubSystem::SetControllerStatus メソッド (vdshwprv.h)
[Windows 8とWindows Server 2012以降、仮想ディスク サービス COM インターフェイスは Windows Storage Management API に置き換えられます。
サブシステム内のコントローラーの状態 (オンラインまたはオフライン) を設定します。
構文
HRESULT SetControllerStatus(
[in] VDS_OBJECT_ID *pOnlineControllerIdArray,
[in] LONG lNumberOfOnlineControllers,
[in] VDS_OBJECT_ID *pOfflineControllerIdArray,
[in] LONG lNumberOfOfflineControllers
);
パラメーター
[in] pOnlineControllerIdArray
コントローラー GUID の配列へのポインター。 プロバイダーは、これらのコントローラーをオンラインに設定します。 この配列には、オンラインに既に設定されているコントローラーが含まれています。これはそのまま残ります。
[in] lNumberOfOnlineControllers
pOnlineControllersArray で指定されたコントローラーの数。
[in] pOfflineControllerIdArray
コントローラー GUID の配列へのポインター。 プロバイダーは、これらのコントローラーをオフラインに設定します。 この配列には、既にオフラインに設定されているコントローラーが含まれています。このコントローラーはオフラインのままです。
[in] lNumberOfOfflineControllers
pOfflineControllersArray で指定されたコントローラーの数。
戻り値
このメソッドは、E_INVALIDARGやE_OUTOFMEMORYなどの標準の HRESULT 値と、 VDS 固有の戻り値を返すことができます。 また、HRESULT_FROM_WIN32 マクロを使用して、変換されたシステム エラー コードを返すこともできます。 エラーは、VDS 自体または使用されている基になる VDS プロバイダー から発生する可能性があります。 可能な戻り値は次のとおりです。
リターン コード/値 | Description |
---|---|
|
この戻り値は、配列に関する情報をキャッシュするプロバイダー内のソフトウェアまたは通信の問題を示します。 キャッシュを復元するには、 IVdsHwProvider::Reenumerate メソッドの後に IVdsHwProvider::Refresh メソッドを使用します。 |
|
サブシステム オブジェクトが存在しなくなりました。 |
|
サブシステムが失敗状態であり、要求された操作を実行できません。 |
|
別の操作が進行中です。この操作は、前の操作または操作が完了するまで続行できません。 |
|
VDS_OBJECT_ID定数を受け取る任意のメソッドから返すことができます。 この戻り値は、識別子が既存のオブジェクトを参照していないことを示します。 |
注釈
このメソッドを使用すると、呼び出し元はすべてのコントローラーの状態を一度に設定できます。 1 つのコントローラーの状態を設定するには、 IVdsController::SetStatus メソッドを使用します。
呼び出し元は、メソッド呼び出しごとに pOnlineControllerIdArray パラメーターまたは pOfflineControllerIdArray パラメーターでコントローラーの完全なセットを渡す必要があります。 E_INVALIDARG戻り値は、サブシステム内のすべてのコントローラーがこのメソッドの引数で指定されていない可能性があることを示すことができます。
SetControllerStatus メソッドでは、指定された 2 つの配列のいずれかにサブシステム内のすべてのコントローラーが存在する必要があります。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2003 (デスクトップ アプリのみ) |
対象プラットフォーム | Windows |
ヘッダー | vdshwprv.h |
Library | Uuid.lib |