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

IVdsIscsiPortal

COM
IID7fa1499d-ec85-4a8a-a47b-ff69201fcd34継承元IUnknown自前メソッド開始 vtbl3

メソッド 7

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

vtbl 3 HRESULT GetProperties(VDS_ISCSI_PORTAL_PROP* pPortalProp)
pPortalPropVDS_ISCSI_PORTAL_PROP*outiSCSI ポータルのプロパティを表す VDS_ISCSI_PORTAL_PROP 構造体を受け取るポインタである。
vtbl 4 HRESULT GetSubSystem(IVdsSubSystem** ppSubSystem)
ppSubSystemIVdsSubSystem**outこのポータルが属するサブシステムの IVdsSubSystem インターフェイスを受け取るポインタである。
vtbl 5 HRESULT QueryAssociatedPortalGroups(IEnumVdsObject** ppEnum)
ppEnumIEnumVdsObject**outこのポータルに関連付けられたポータルグループを列挙する IEnumVdsObject インターフェイスを受け取るポインタである。
vtbl 6 HRESULT SetStatus(VDS_ISCSI_PORTAL_STATUS status)
statusVDS_ISCSI_PORTAL_STATUSiniSCSI ポータルに設定する状態を表す VDS_ISCSI_PORTAL_STATUS 値を指定する。
vtbl 7 HRESULT SetIpsecTunnelAddress(VDS_IPADDRESS* pTunnelAddress, VDS_IPADDRESS* pDestinationAddress)
pTunnelAddressVDS_IPADDRESS*inIPsec トンネルのアドレスを表す VDS_IPADDRESS 構造体へのポインタを指定する。
pDestinationAddressVDS_IPADDRESS*inIPsec トンネルの宛先アドレスを表す VDS_IPADDRESS 構造体へのポインタを指定する。
vtbl 8 HRESULT GetIpsecSecurity(VDS_IPADDRESS* pInitiatorPortalAddress, ULONGLONG* pullSecurityFlags)
pInitiatorPortalAddressVDS_IPADDRESS*in対象とするイニシエータポータルのアドレスを表す VDS_IPADDRESS 構造体へのポインタを指定する。
pullSecurityFlagsULONGLONG*outIPsec セキュリティの設定を表すフラグを受け取るポインタである。
vtbl 9 HRESULT SetIpsecSecurity(VDS_IPADDRESS* pInitiatorPortalAddress, ULONGLONG ullSecurityFlags, VDS_ISCSI_IPSEC_KEY* pIpsecKey)
pInitiatorPortalAddressVDS_IPADDRESS*in対象とするイニシエータポータルのアドレスを表す VDS_IPADDRESS 構造体へのポインタを指定する。
ullSecurityFlagsULONGLONGin設定する IPsec セキュリティのフラグを指定する。
pIpsecKeyVDS_ISCSI_IPSEC_KEY*in設定する IPsec キーを表す VDS_ISCSI_IPSEC_KEY 構造体へのポインタを指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IVdsIscsiPortal "{7FA1499D-EC85-4A8A-A47B-FF69201FCD34}"
#usecom global IVdsIscsiPortal IID_IVdsIscsiPortal "{}"
#comfunc global IVdsIscsiPortal_GetProperties                3 var
#comfunc global IVdsIscsiPortal_GetSubSystem                 4 sptr
#comfunc global IVdsIscsiPortal_QueryAssociatedPortalGroups  5 sptr
#comfunc global IVdsIscsiPortal_SetStatus                    6 int
#comfunc global IVdsIscsiPortal_SetIpsecTunnelAddress        7 var,var
#comfunc global IVdsIscsiPortal_GetIpsecSecurity             8 var,var
#comfunc global IVdsIscsiPortal_SetIpsecSecurity             9 var,int64,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。