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

ITBasicCallControl

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

メソッド 18

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

vtbl 7 HRESULT Connect(VARIANT_BOOL fSync)
fSyncVARIANT_BOOLinVARIANT_TRUEで接続完了まで同期的に待機する真偽値。FALSEで非同期。
vtbl 8 HRESULT Answer()
vtbl 9 HRESULT Disconnect(DISCONNECT_CODE code)
codeDISCONNECT_CODEin切断理由を示すDISCONNECT_CODE列挙値(通常切断・拒否等)。
vtbl 10 HRESULT Hold(VARIANT_BOOL fHold)
fHoldVARIANT_BOOLinVARIANT_TRUEで通話を保留、FALSEで保留解除する真偽値。
vtbl 11 HRESULT HandoffDirect(LPWSTR pApplicationName)
pApplicationNameLPWSTRin通話を引き渡す先のアプリケーション名(実行ファイル名)。
vtbl 12 HRESULT HandoffIndirect(INT lMediaType)
lMediaTypeINTin引き渡し先を決めるメディア種別を示す値。
vtbl 13 HRESULT Conference(ITBasicCallControl* pCall, VARIANT_BOOL fSync)
pCallITBasicCallControl*in会議に加える対象の通話ITBasicCallControl。
fSyncVARIANT_BOOLinVARIANT_TRUEで会議化完了まで同期的に待機する真偽値。
vtbl 14 HRESULT Transfer(ITBasicCallControl* pCall, VARIANT_BOOL fSync)
pCallITBasicCallControl*in転送先となる相談通話ITBasicCallControl。
fSyncVARIANT_BOOLinVARIANT_TRUEで転送完了まで同期的に待機する真偽値。
vtbl 15 HRESULT BlindTransfer(LPWSTR pDestAddress)
pDestAddressLPWSTRinブラインド転送する先の宛先アドレス(電話番号等)文字列。
vtbl 16 HRESULT SwapHold(ITBasicCallControl* pCall)
pCallITBasicCallControl*in保留中の通話と切り替える対象の通話ITBasicCallControl。
vtbl 17 HRESULT ParkDirect(LPWSTR pParkAddress)
pParkAddressLPWSTRin通話をパーク(預ける)先のアドレス文字列。
vtbl 18 HRESULT ParkIndirect(LPWSTR* ppNonDirAddress)
ppNonDirAddressLPWSTR*outシステムが割り当てたパーク先アドレスを受け取る出力先。
vtbl 19 HRESULT Unpark()
vtbl 20 HRESULT SetQOS(INT lMediaType, QOS_SERVICE_LEVEL ServiceLevel)
lMediaTypeINTinQoSを設定する対象のメディア種別を示す値。
ServiceLevelQOS_SERVICE_LEVELin要求するサービスレベルを示すQOS_SERVICE_LEVEL列挙値。
vtbl 21 HRESULT Pickup(LPWSTR pGroupID)
pGroupIDLPWSTRin代理応答(ピックアップ)するコールグループのID文字列。NULL可。
vtbl 22 HRESULT Dial(LPWSTR pDestAddress)
pDestAddressLPWSTRinダイヤルする宛先アドレス(電話番号等)文字列。
vtbl 23 HRESULT Finish(FINISH_MODE finishMode)
finishModeFINISH_MODEin通話の終了方法(切断/転送完了/会議化等)を示す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 不要)。