Win32 API 日本語リファレンス
ホームDevices.Tapi › ITCallInfo

ITCallInfo

COMIDispatch (デュアル)
IDispatch を実装(デュアルインターフェース)。HSP では comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。
IID350f85d1-1227-11d3-83d4-00c04fb6809f継承元IDispatch呼び出し名前(IDispatch) または vtbl自前メソッド開始 vtbl7

メソッド 13

vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。

vtbl 7 HRESULT get_Address(ITAddress** ppAddress)
ppAddressITAddress**outこの通話が属するアドレスITAddressを受け取る出力先。
vtbl 8 HRESULT get_CallState(CALL_STATE* pCallState)
pCallStateCALL_STATE*out通話の現在状態を示すCALL_STATE列挙値を受け取る出力先。
vtbl 9 HRESULT get_Privilege(CALL_PRIVILEGE* pPrivilege)
pPrivilegeCALL_PRIVILEGE*outこの通話に対して保持する権限を示すCALL_PRIVILEGEを受け取る出力先。
vtbl 10 HRESULT get_CallHub(ITCallHub** ppCallHub)
ppCallHubITCallHub**outこの通話が属するコールハブITCallHubを受け取る出力先。
vtbl 11 HRESULT get_CallInfoLong(CALLINFO_LONG CallInfoLong, INT* plCallInfoLongVal)
CallInfoLongCALLINFO_LONGin取得する数値型の通話情報項目を示すCALLINFO_LONG値。
plCallInfoLongValINT*out当該情報の数値を受け取る出力先。
vtbl 12 HRESULT put_CallInfoLong(CALLINFO_LONG CallInfoLong, INT lCallInfoLongVal)
CallInfoLongCALLINFO_LONGin設定する数値型の通話情報項目を示すCALLINFO_LONG値。
lCallInfoLongValINTin設定する数値。
vtbl 13 HRESULT get_CallInfoString(CALLINFO_STRING CallInfoString, LPWSTR* ppCallInfoString)
CallInfoStringCALLINFO_STRINGin取得する文字列型の通話情報項目を示すCALLINFO_STRING値。
ppCallInfoStringLPWSTR*out当該情報の文字列値を受け取る出力先。SysFreeStringで解放する。
vtbl 14 HRESULT put_CallInfoString(CALLINFO_STRING CallInfoString, LPWSTR pCallInfoString)
CallInfoStringCALLINFO_STRINGin設定する文字列型の通話情報項目を示すCALLINFO_STRING値。
pCallInfoStringLPWSTRin設定する文字列値。
vtbl 15 HRESULT get_CallInfoBuffer(CALLINFO_BUFFER CallInfoBuffer, VARIANT* ppCallInfoBuffer)
CallInfoBufferCALLINFO_BUFFERin取得するバッファ型の通話情報項目を示すCALLINFO_BUFFER値。
ppCallInfoBufferVARIANT*out当該情報をバイト配列VARIANTとして受け取る出力先。
vtbl 16 HRESULT put_CallInfoBuffer(CALLINFO_BUFFER CallInfoBuffer, VARIANT pCallInfoBuffer)
CallInfoBufferCALLINFO_BUFFERin設定するバッファ型の通話情報項目を示すCALLINFO_BUFFER値。
pCallInfoBufferVARIANTin設定するデータをバイト配列VARIANTとして渡す。
vtbl 17 HRESULT GetCallInfoBuffer(CALLINFO_BUFFER CallInfoBuffer, DWORD* pdwSize, BYTE** ppCallInfoBuffer)
CallInfoBufferCALLINFO_BUFFERin取得するバッファ型の通話情報項目を示すCALLINFO_BUFFER値。
pdwSizeDWORD*out返されるバッファのバイトサイズを受け取る出力先。
ppCallInfoBufferBYTE**out情報データを格納したバイトバッファを受け取る出力先。CoTaskMemFreeで解放する。
vtbl 18 HRESULT SetCallInfoBuffer(CALLINFO_BUFFER CallInfoBuffer, DWORD dwSize, BYTE* pCallInfoBuffer)
CallInfoBufferCALLINFO_BUFFERin設定するバッファ型の通話情報項目を示すCALLINFO_BUFFER値。
dwSizeDWORDinpCallInfoBufferのバイトサイズ。
pCallInfoBufferBYTE*in設定するデータを保持するバイトバッファ。
vtbl 19 HRESULT ReleaseUserUserInfo()

HSP用 COM定義

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

出力引数:
#define global IID_ITCallInfo "{350F85D1-1227-11D3-83D4-00C04FB6809F}"
#usecom global ITCallInfo IID_ITCallInfo "{}"
#comfunc global ITCallInfo_get_Address          7 sptr
#comfunc global ITCallInfo_get_CallState        8 var
#comfunc global ITCallInfo_get_Privilege        9 var
#comfunc global ITCallInfo_get_CallHub          10 sptr
#comfunc global ITCallInfo_get_CallInfoLong     11 int,var
#comfunc global ITCallInfo_put_CallInfoLong     12 int,int
#comfunc global ITCallInfo_get_CallInfoString   13 int,var
#comfunc global ITCallInfo_put_CallInfoString   14 int,wstr
#comfunc global ITCallInfo_get_CallInfoBuffer   15 int,var
#comfunc global ITCallInfo_put_CallInfoBuffer   16 int,int
#comfunc global ITCallInfo_GetCallInfoBuffer    17 int,var,var
#comfunc global ITCallInfo_SetCallInfoBuffer    18 int,int,var
#comfunc global ITCallInfo_ReleaseUserUserInfo  19
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。