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

IVdsServiceIscsi

COM
IID14fbe036-3ed7-4e10-90e9-a5ff991aff01継承元IUnknown自前メソッド開始 vtbl3

メソッド 7

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

vtbl 3 HRESULT GetInitiatorName(LPWSTR* ppwszIscsiName)
ppwszIscsiNameLPWSTR*outローカルの iSCSI イニシエータ名(IQN)を受け取るポインタである。
vtbl 4 HRESULT QueryInitiatorAdapters(IEnumVdsObject** ppEnum)
ppEnumIEnumVdsObject**outiSCSI イニシエータアダプタを列挙する IEnumVdsObject インターフェイスを受け取るポインタである。
vtbl 5 HRESULT SetIpsecGroupPresharedKey(VDS_ISCSI_IPSEC_KEY* pIpsecKey)
pIpsecKeyVDS_ISCSI_IPSEC_KEY*inIPsec グループに設定する事前共有キーを表す VDS_ISCSI_IPSEC_KEY 構造体へのポインタを指定する。
vtbl 6 HRESULT SetAllIpsecTunnelAddresses(VDS_IPADDRESS* pTunnelAddress, VDS_IPADDRESS* pDestinationAddress)
pTunnelAddressVDS_IPADDRESS*inすべてに適用する IPsec トンネルのアドレスを表す VDS_IPADDRESS 構造体へのポインタを指定する。
pDestinationAddressVDS_IPADDRESS*inすべてに適用する IPsec トンネルの宛先アドレスを表す VDS_IPADDRESS 構造体へのポインタを指定する。
vtbl 7 HRESULT SetAllIpsecSecurity(GUID targetPortalId, ULONGLONG ullSecurityFlags, VDS_ISCSI_IPSEC_KEY* pIpsecKey)
targetPortalIdGUIDin対象とするターゲットポータルの GUID を指定する。
ullSecurityFlagsULONGLONGin設定する IPsec セキュリティのフラグを指定する。
pIpsecKeyVDS_ISCSI_IPSEC_KEY*in設定する IPsec キーを表す VDS_ISCSI_IPSEC_KEY 構造体へのポインタを指定する。
vtbl 8 HRESULT SetInitiatorSharedSecret(VDS_ISCSI_SHARED_SECRET* pInitiatorSharedSecret, GUID targetId)
pInitiatorSharedSecretVDS_ISCSI_SHARED_SECRET*inイニシエータの共有シークレット(CHAP シークレット)を表す VDS_ISCSI_SHARED_SECRET 構造体へのポインタを指定する。
targetIdGUIDin共有シークレットを適用する対象ターゲットの GUID を指定する。
vtbl 9 HRESULT RememberTargetSharedSecret(GUID targetId, VDS_ISCSI_SHARED_SECRET* pTargetSharedSecret)
targetIdGUIDin共有シークレットを記憶する対象ターゲットの GUID を指定する。
pTargetSharedSecretVDS_ISCSI_SHARED_SECRET*in記憶するターゲットの共有シークレットを表す VDS_ISCSI_SHARED_SECRET 構造体へのポインタを指定する。

HSP用 COM定義

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

出力引数:
#define global IID_IVdsServiceIscsi "{14FBE036-3ED7-4E10-90E9-A5FF991AFF01}"
#usecom global IVdsServiceIscsi IID_IVdsServiceIscsi "{}"
#comfunc global IVdsServiceIscsi_GetInitiatorName            3 var
#comfunc global IVdsServiceIscsi_QueryInitiatorAdapters      4 sptr
#comfunc global IVdsServiceIscsi_SetIpsecGroupPresharedKey   5 var
#comfunc global IVdsServiceIscsi_SetAllIpsecTunnelAddresses  6 var,var
#comfunc global IVdsServiceIscsi_SetAllIpsecSecurity         7 int,int64,var
#comfunc global IVdsServiceIscsi_SetInitiatorSharedSecret    8 var,int
#comfunc global IVdsServiceIscsi_RememberTargetSharedSecret  9 int,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。