次の方法で共有


IVdsLunMpio::GetPathInfo メソッド (vds.h)

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

LUN へのパスごとに 1 つずつ、 VDS_PATH_INFO 構造体の配列を返します。

構文

HRESULT GetPathInfo(
  [out] VDS_PATH_INFO **ppPaths,
  [out] LONG          *plNumberOfPaths
);

パラメーター

[out] ppPaths

VDS_PATH_INFO構造体の配列を受け取る変数のアドレス。 呼び出し元は、 CoTaskMemFree 関数を使用して、配列内の各要素と配列自体を解放する必要があります。

[out] plNumberOfPaths

ppPaths パラメーターで返される配列内の要素の数を受け取る変数のアドレス。

このメソッドによって返されるパスの数は、 IVdsLunMpio::GetLoadBalancePolicy メソッドによって返されるパスの数と一致します。

戻り値

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

リターン コード/値 Description
S_OK
パス情報が正常に返されました。
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
プロバイダーのキャッシュが破損しています。 これは、接続されているデバイスに関する情報をキャッシュするプロバイダー内のソフトウェアまたは通信の問題を示します。 呼び出し元は 、IVdsHwProvider::Reenumerate メソッドの後に IVdsHwProvider::Refresh メソッドを使用してキャッシュを復元できます。
VDS_E_OBJECT_DELETED
0x8004240BL
LUN オブジェクトが存在しなくなりました。
VDS_E_OBJECT_STATUS_FAILED
0x80042431L
LUN は失敗状態であり、要求された操作を実行できません。
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
別の操作が進行中です。 この操作は、前の操作が完了するまで続行できません。

注釈

ハードウェア プロバイダーは、VDS_PATH_INFOの hbaPortProp.id でVDS_OBJECT_IDを返す必要はありません。これを GUID_NULL に設定するだけです。 この呼び出しがアプリケーションに渡されると、この ID はシステムによって入力されます。 サービスで対応する HBA ポートが見つからない場合は、 GUID_NULL が使用されます。 アプリケーションはこれを解釈し、HBA ポートが VDS に対して不明であることを意味します。

要件

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

こちらもご覧ください

IVdsLunMpio

VDS_PATH_INFO