ホーム › Devices.Tapi › ITBasicCallControl
ITBasicCallControl
COMIDispatch (デュアル)✅ IDispatch を実装(デュアルインターフェース)。HSP では
comobj 経由でメソッド名による遅延バインド呼び出しができます(vtableインデックス不要)。メソッド 18
vtbl = vtable インデックス(0始まり)。IDispatch 実装のため HSP ではメソッド名でも呼べます(上記)。低レベルの index 呼び出し用に vtbl も掲載。0〜2 は IUnknown。
vtbl 7 HRESULT Connect(VARIANT_BOOL fSync)
| fSync | VARIANT_BOOL | in | VARIANT_TRUEで接続完了まで同期的に待機する真偽値。FALSEで非同期。 |
vtbl 8 HRESULT Answer()
vtbl 9 HRESULT Disconnect(DISCONNECT_CODE code)
| code | DISCONNECT_CODE | in | 切断理由を示すDISCONNECT_CODE列挙値(通常切断・拒否等)。 |
vtbl 10 HRESULT Hold(VARIANT_BOOL fHold)
| fHold | VARIANT_BOOL | in | VARIANT_TRUEで通話を保留、FALSEで保留解除する真偽値。 |
| pApplicationName | LPWSTR | in | 通話を引き渡す先のアプリケーション名(実行ファイル名)。 |
| lMediaType | INT | in | 引き渡し先を決めるメディア種別を示す値。 |
vtbl 13 HRESULT Conference(ITBasicCallControl* pCall, VARIANT_BOOL fSync)
| pCall | ITBasicCallControl* | in | 会議に加える対象の通話ITBasicCallControl。 |
| fSync | VARIANT_BOOL | in | VARIANT_TRUEで会議化完了まで同期的に待機する真偽値。 |
vtbl 14 HRESULT Transfer(ITBasicCallControl* pCall, VARIANT_BOOL fSync)
| pCall | ITBasicCallControl* | in | 転送先となる相談通話ITBasicCallControl。 |
| fSync | VARIANT_BOOL | in | VARIANT_TRUEで転送完了まで同期的に待機する真偽値。 |
| pDestAddress | LPWSTR | in | ブラインド転送する先の宛先アドレス(電話番号等)文字列。 |
vtbl 16 HRESULT SwapHold(ITBasicCallControl* pCall)
| pCall | ITBasicCallControl* | in | 保留中の通話と切り替える対象の通話ITBasicCallControl。 |
| pParkAddress | LPWSTR | in | 通話をパーク(預ける)先のアドレス文字列。 |
| ppNonDirAddress | LPWSTR* | out | システムが割り当てたパーク先アドレスを受け取る出力先。 |
vtbl 19 HRESULT Unpark()
vtbl 20 HRESULT SetQOS(INT lMediaType, QOS_SERVICE_LEVEL ServiceLevel)
| lMediaType | INT | in | QoSを設定する対象のメディア種別を示す値。 |
| ServiceLevel | QOS_SERVICE_LEVEL | in | 要求するサービスレベルを示すQOS_SERVICE_LEVEL列挙値。 |
| pGroupID | LPWSTR | in | 代理応答(ピックアップ)するコールグループのID文字列。NULL可。 |
| pDestAddress | LPWSTR | in | ダイヤルする宛先アドレス(電話番号等)文字列。 |
vtbl 23 HRESULT Finish(FINISH_MODE finishMode)
| finishMode | FINISH_MODE | in | 通話の終了方法(切断/転送完了/会議化等)を示すFINISH_MODE値。 |
vtbl 24 HRESULT RemoveFromConference()
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
出力引数:
#define global IID_ITBasicCallControl "{B1EFC389-9355-11D0-835C-00AA003CCABD}" #usecom global ITBasicCallControl IID_ITBasicCallControl "{}" #comfunc global ITBasicCallControl_Connect 7 int #comfunc global ITBasicCallControl_Answer 8 #comfunc global ITBasicCallControl_Disconnect 9 int #comfunc global ITBasicCallControl_Hold 10 int #comfunc global ITBasicCallControl_HandoffDirect 11 wstr #comfunc global ITBasicCallControl_HandoffIndirect 12 int #comfunc global ITBasicCallControl_Conference 13 sptr,int #comfunc global ITBasicCallControl_Transfer 14 sptr,int #comfunc global ITBasicCallControl_BlindTransfer 15 wstr #comfunc global ITBasicCallControl_SwapHold 16 sptr #comfunc global ITBasicCallControl_ParkDirect 17 wstr #comfunc global ITBasicCallControl_ParkIndirect 18 var #comfunc global ITBasicCallControl_Unpark 19 #comfunc global ITBasicCallControl_SetQOS 20 int,int #comfunc global ITBasicCallControl_Pickup 21 wstr #comfunc global ITBasicCallControl_Dial 22 wstr #comfunc global ITBasicCallControl_Finish 23 int #comfunc global ITBasicCallControl_RemoveFromConference 24 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。#define global IID_ITBasicCallControl "{B1EFC389-9355-11D0-835C-00AA003CCABD}" #usecom global ITBasicCallControl IID_ITBasicCallControl "{}" #comfunc global ITBasicCallControl_Connect 7 int #comfunc global ITBasicCallControl_Answer 8 #comfunc global ITBasicCallControl_Disconnect 9 int #comfunc global ITBasicCallControl_Hold 10 int #comfunc global ITBasicCallControl_HandoffDirect 11 wstr #comfunc global ITBasicCallControl_HandoffIndirect 12 int #comfunc global ITBasicCallControl_Conference 13 sptr,int #comfunc global ITBasicCallControl_Transfer 14 sptr,int #comfunc global ITBasicCallControl_BlindTransfer 15 wstr #comfunc global ITBasicCallControl_SwapHold 16 sptr #comfunc global ITBasicCallControl_ParkDirect 17 wstr #comfunc global ITBasicCallControl_ParkIndirect 18 sptr #comfunc global ITBasicCallControl_Unpark 19 #comfunc global ITBasicCallControl_SetQOS 20 int,int #comfunc global ITBasicCallControl_Pickup 21 wstr #comfunc global ITBasicCallControl_Dial 22 wstr #comfunc global ITBasicCallControl_Finish 23 int #comfunc global ITBasicCallControl_RemoveFromConference 24 ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。 ; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。