Win32 API 日本語リファレンス
ホームStorage.VirtualDiskService › IVdsIscsiPortalGroup

IVdsIscsiPortalGroup

COM
IIDfef5f89d-a3dd-4b36-bf28-e7dde045c593継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

IVdsIscsiPortalGroup インターフェース (vdshwprv.h) は、iSCSI ポータルグループに対するクエリおよび構成サービスを実行するためのメソッドを提供します。

メソッド 6

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT GetProperties(VDS_ISCSI_PORTALGROUP_PROP* pPortalGroupProp)

IVdsIscsiPortalGroup::GetProperties メソッド (vdshwprv.h) は、ポータルグループのプロパティを返します。

pPortalGroupPropVDS_ISCSI_PORTALGROUP_PROP*out呼び出し元によって割り当てられ、渡される VDS_ISCSI_PORTALGROUP_PROP 構造体のアドレスです。

戻り値

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

リターンコード/値 説明
S_OK
プロパティが正常に返されました。
VDS_S_PROPERTIES_INCOMPLETE
0x00042715L
一部のプロパティは正常に取得されましたが、すべてではありません。すべてのプロパティを取得できない理由は、デバイスの取り外しなど、数多く考えられることに注意してください。
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
プロバイダーのキャッシュが破損しています。これは、接続されているデバイスに関する情報をキャッシュするプロバイダー内部のソフトウェアまたは通信の問題を示します。呼び出し元は、IVdsHwProvider::Reenumerate メソッドに続けて IVdsHwProvider::Refresh メソッドを使用して、キャッシュを復元できます。
VDS_E_OBJECT_DELETED
0x8004240BL
ポータルグループオブジェクトは既に存在しません。
vtbl 4 HRESULT GetTarget(IVdsIscsiTarget** ppTarget)

IVdsIscsiPortalGroup::GetTarget メソッド (vdshwprv.h) は、ポータルグループが属するターゲットを返します。

ppTargetIVdsIscsiTarget**outIVdsIscsiTarget のアドレスです。VDS は戻り時にインターフェースを初期化します。呼び出し元はインターフェースを解放する必要があります。

戻り値

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

リターンコード/値 説明
S_OK
ターゲットオブジェクトが正常に返されました。
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
プロバイダーのキャッシュが破損しています。これは、接続されているデバイスに関する情報をキャッシュするプロバイダー内部のソフトウェアまたは通信の問題を示します。呼び出し元は、IVdsHwProvider::Reenumerate メソッドに続けて IVdsHwProvider::Refresh メソッドを使用して、キャッシュを復元できます。
VDS_E_OBJECT_DELETED
0x8004240BL
ポータルグループオブジェクトは既に存在しません。
vtbl 5 HRESULT QueryAssociatedPortals(IEnumVdsObject** ppEnum)

IVdsIscsiPortalGroup::QueryAssociatedPortals メソッド (vdshwprv.h) は、ポータルグループが関連付けられているポータルの列挙を返します。

ppEnumIEnumVdsObject**outポータルを ポータルオブジェクト として列挙するために使用できる IEnumVdsObject インターフェースポインターのアドレスです。詳細については、列挙オブジェクトの操作 を参照してください。呼び出し元は、インターフェースおよび各ポータルオブジェクトが不要になったら、IUnknown::Release メソッドを呼び出して解放する必要があります。

戻り値

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

リターンコード/値 説明
S_OK
関連付けられたポータルの列挙が正常に返されました。ポータルグループに関連付けられたポータルがない場合、列挙は空になります。
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
プロバイダーのキャッシュが破損しています。これは、接続されているデバイスに関する情報をキャッシュするプロバイダー内部のソフトウェアまたは通信の問題を示します。呼び出し元は、IVdsHwProvider::Reenumerate メソッドに続けて IVdsHwProvider::Refresh メソッドを使用して、キャッシュを復元できます。
VDS_E_OBJECT_DELETED
0x8004240BL
ポータルグループオブジェクトは既に存在しません。
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
別の操作が進行中です。この操作は、以前の操作が完了するまで続行できません。
vtbl 6 HRESULT AddPortal(GUID portalId, IVdsAsync** ppAsync)

IVdsIscsiPortalGroup::AddPortal メソッド (vdshwprv.h) は、ポータルグループにポータルを追加します。

portalIdGUIDinポータルグループに追加するポータルの VDS_OBJECT_ID です。
ppAsyncIVdsAsync**outIVdsAsync インターフェースポインターのアドレスです。VDS は戻り時にインターフェースを初期化します。呼び出し元はインターフェースを解放する必要があります。このインターフェースを使用して、操作のキャンセル、完了待ち、またはステータスの照会を行います。IVdsAsync::Wait を呼び出して成功を示す HRESULT 値が返された場合は、VDS_ASYNC_OUTPUT 構造体で返される各インターフェースポインターに対して IUnknown::Release メソッドを呼び出して、インターフェースを解放する必要があります。ただし、Wait が失敗を示す HRESULT 値を返した場合、または WaitpHrResult パラメーターが失敗を示す HRESULT 値を受け取った場合、VDS_ASYNC_OUTPUT 構造体内のインターフェースポインターは NULL であり、解放する必要はありません。HRESULT 値の成功または失敗は、Winerror.h で定義されている SUCCEEDED および FAILED マクロを使用して確認できます。

戻り値

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

リターンコード/値 説明
S_OK
ポータルがポータルグループに正常に追加されました。
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
プロバイダーのキャッシュが破損しています。これは、接続されているデバイスに関する情報をキャッシュするプロバイダー内部のソフトウェアまたは通信の問題を示します。呼び出し元は、IVdsHwProvider::Reenumerate メソッドに続けて IVdsHwProvider::Refresh メソッドを使用して、キャッシュを復元できます。
VDS_E_OBJECT_DELETED
0x8004240BL
ポータルグループオブジェクトは既に存在しません。
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
別の操作が進行中です。この操作は、以前の操作が完了するまで続行できません。
VDS_E_OBJECT_NOT_FOUND
0x80042405L
portalID パラメーターが既存のオブジェクトを参照していません。
vtbl 7 HRESULT RemovePortal(GUID portalId, IVdsAsync** ppAsync)

IVdsIscsiPortalGroup::RemovePortal メソッド (vdshwprv.h) は、ポータルグループからポータルを削除します。

portalIdGUIDinポータルグループから削除するポータルの VDS_OBJECT_ID です。
ppAsyncIVdsAsync**outIVdsAsync インターフェースポインターのアドレスです。VDS は戻り時にインターフェースを初期化します。呼び出し元はインターフェースを解放する必要があります。このインターフェースを使用して、操作のキャンセル、完了待ち、またはステータスの照会を行います。IVdsAsync::Wait を呼び出して成功を示す HRESULT 値が返された場合は、VDS_ASYNC_OUTPUT 構造体で返される各インターフェースポインターに対して IUnknown::Release メソッドを呼び出して、インターフェースを解放する必要があります。ただし、Wait が失敗を示す HRESULT 値を返した場合、または WaitpHrResult パラメーターが失敗を示す HRESULT 値を受け取った場合、VDS_ASYNC_OUTPUT 構造体内のインターフェースポインターは NULL であり、解放する必要はありません。HRESULT 値の成功または失敗は、Winerror.h で定義されている SUCCEEDED および FAILED マクロを使用して確認できます。

戻り値

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

リターンコード/値 説明
S_OK
ポータルがポータルグループから正常に削除されました。
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
プロバイダーのキャッシュが破損しています。これは、接続されているデバイスに関する情報をキャッシュするプロバイダー内部のソフトウェアまたは通信の問題を示します。呼び出し元は、IVdsHwProvider::Reenumerate メソッドに続けて IVdsHwProvider::Refresh メソッドを使用して、キャッシュを復元できます。
VDS_E_OBJECT_DELETED
0x8004240BL
ポータルグループオブジェクトは既に存在しません。
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
別の操作が進行中です。この操作は、以前の操作が完了するまで続行できません。
VDS_E_OBJECT_NOT_FOUND
0x80042405L
portalID パラメーターが既存のオブジェクトを参照していません。
vtbl 8 HRESULT Delete(IVdsAsync** ppAsync)

IVdsIscsiPortalGroup::Delete メソッド (vdshwprv.h) は、ポータルグループを削除します。

ppAsyncIVdsAsync**outIVdsAsync インターフェースポインターのアドレスです。VDS は戻り時にインターフェースを初期化します。呼び出し元はインターフェースを解放する必要があります。このインターフェースを使用して、操作のキャンセル、完了待ち、またはステータスの照会を行います。IVdsAsync::Wait を呼び出して成功を示す HRESULT 値が返された場合は、VDS_ASYNC_OUTPUT 構造体で返される各インターフェースポインターに対して IUnknown::Release メソッドを呼び出して、インターフェースを解放する必要があります。ただし、Wait が失敗を示す HRESULT 値を返した場合、または WaitpHrResult パラメーターが失敗を示す HRESULT 値を受け取った場合、VDS_ASYNC_OUTPUT 構造体内のインターフェースポインターは NULL であり、解放する必要はありません。HRESULT 値の成功または失敗は、Winerror.h で定義されている SUCCEEDED および FAILED マクロを使用して確認できます。

戻り値

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

リターンコード/値 説明
S_OK
ポータルグループが正常に削除されました。
VDS_E_PROVIDER_CACHE_CORRUPT
0x8004241FL
プロバイダーのキャッシュが破損しています。これは、接続されているデバイスに関する情報をキャッシュするプロバイダー内部のソフトウェアまたは通信の問題を示します。呼び出し元は、IVdsHwProvider::Reenumerate メソッドに続けて IVdsHwProvider::Refresh メソッドを使用して、キャッシュを復元できます。
VDS_E_OBJECT_DELETED
0x8004240BL
ポータルオブジェクトは既に存在しません。
VDS_E_ANOTHER_CALL_IN_PROGRESS
0x80042404L
別の操作が進行中です。この操作は、以前の操作が完了するまで続行できません。
VDS_E_ASSOCIATED_PORTALS_EXIST
0x8004270CL
ポータルがこのポータルグループに関連付けられています。このポータルグループを削除する前に、すべてのポータルをこのポータルグループから関連付け解除する必要があります。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

出力引数:
#define global IID_IVdsIscsiPortalGroup "{FEF5F89D-A3DD-4B36-BF28-E7DDE045C593}"
#usecom global IVdsIscsiPortalGroup IID_IVdsIscsiPortalGroup "{}"
#comfunc global IVdsIscsiPortalGroup_GetProperties           3 var
#comfunc global IVdsIscsiPortalGroup_GetTarget               4 sptr
#comfunc global IVdsIscsiPortalGroup_QueryAssociatedPortals  5 sptr
#comfunc global IVdsIscsiPortalGroup_AddPortal               6 int,sptr
#comfunc global IVdsIscsiPortalGroup_RemovePortal            7 int,sptr
#comfunc global IVdsIscsiPortalGroup_Delete                  8 sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。