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

IVdsIscsiInitiatorPortal

COM
IID38a0a9ab-7cc8-4693-ac07-1f28bd03c3da継承元IUnknown自前メソッド開始 vtbl3

メソッド 5

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

vtbl 3 HRESULT GetProperties(VDS_ISCSI_INITIATOR_PORTAL_PROP* pInitiatorPortalProp)
pInitiatorPortalPropVDS_ISCSI_INITIATOR_PORTAL_PROP*outiSCSI イニシエータポータルのプロパティを表す VDS_ISCSI_INITIATOR_PORTAL_PROP 構造体を受け取るポインタである。
vtbl 4 HRESULT GetInitiatorAdapter(IVdsIscsiInitiatorAdapter** ppInitiatorAdapter)
ppInitiatorAdapterIVdsIscsiInitiatorAdapter**outこのポータルが属するイニシエータアダプタの IVdsIscsiInitiatorAdapter インターフェイスを受け取るポインタである。
vtbl 5 HRESULT SetIpsecTunnelAddress(VDS_IPADDRESS* pTunnelAddress, VDS_IPADDRESS* pDestinationAddress)
pTunnelAddressVDS_IPADDRESS*inIPsec トンネルのアドレスを表す VDS_IPADDRESS 構造体へのポインタを指定する。
pDestinationAddressVDS_IPADDRESS*inIPsec トンネルの宛先アドレスを表す VDS_IPADDRESS 構造体へのポインタを指定する。
vtbl 6 HRESULT GetIpsecSecurity(GUID targetPortalId, ULONGLONG* pullSecurityFlags)
targetPortalIdGUIDin対象とするターゲットポータルの GUID を指定する。
pullSecurityFlagsULONGLONG*outIPsec セキュリティの設定を表すフラグを受け取るポインタである。
vtbl 7 HRESULT SetIpsecSecurity(GUID targetPortalId, ULONGLONG ullSecurityFlags, VDS_ISCSI_IPSEC_KEY* pIpsecKey)
targetPortalIdGUIDin対象とするターゲットポータルの GUID を指定する。
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_IVdsIscsiInitiatorPortal "{38A0A9AB-7CC8-4693-AC07-1F28BD03C3DA}"
#usecom global IVdsIscsiInitiatorPortal IID_IVdsIscsiInitiatorPortal "{}"
#comfunc global IVdsIscsiInitiatorPortal_GetProperties          3 var
#comfunc global IVdsIscsiInitiatorPortal_GetInitiatorAdapter    4 sptr
#comfunc global IVdsIscsiInitiatorPortal_SetIpsecTunnelAddress  5 var,var
#comfunc global IVdsIscsiInitiatorPortal_GetIpsecSecurity       6 int,var
#comfunc global IVdsIscsiInitiatorPortal_SetIpsecSecurity       7 int,int64,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。