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

ITCallHub

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

公式ドキュメント

ITCallHub インターフェースは、CallHub オブジェクトに関する情報を取得するためのメソッドを提供します。ITCallHub インターフェースは、IEnumCallHub::Next メソッドおよび ITTapi::get_CallHubs メソッドによって作成されます。

メソッド 5

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

vtbl 7 HRESULT Clear()

Clear メソッドは、CallHub からすべての通話(コール)と参加者を削除しようとします。アプリケーションは、すべての通話を切断するために必要な権限を持っていない場合があります。

戻り値

このメソッドは、次のいずれかの値を返すことがあります。

戻り値 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するためのメモリが不足しています。
vtbl 8 HRESULT EnumerateCalls(IEnumCall** ppEnumCall)

EnumerateCalls メソッドは、現在コールハブに関連付けられている通話(コール)を列挙します。このメソッドは、C および C++ アプリケーション向けに提供されています。Visual Basic で記述されたものなどのオートメーションクライアントアプリケーションは、get_Calls メソッドを使用する必要があります。

ppEnumCallIEnumCall**outIEnumCall インターフェースへのポインター。

戻り値

このメソッドは、次のいずれかの値を返すことがあります。

意味
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
列挙子を作成するためのメモリが不足しています。
E_POINTER
ppEnumCall パラメーターが有効なポインターではありません。

解説(Remarks)

TAPI は、ITCallHub::EnumerateCalls によって返される IEnumCall インターフェースに対して AddRef メソッドを呼び出します。アプリケーションは、 IEnumCall インターフェースに関連付けられたリソースを解放するために、そのインターフェースに対して Release を呼び出す必要があります。

vtbl 9 HRESULT get_Calls(VARIANT* pCalls)

get_Calls メソッドは、現在のコールハブに関連付けられている通話(コール)のコレクションを作成します。このメソッドは、Visual Basic で記述されたものなどのオートメーションクライアントアプリケーション向けに提供されています。C および C++ アプリケーションは、EnumerateCalls メソッドを使用する必要があります。

pCallsVARIANT*outITCallInfo インターフェースポインター(コールオブジェクト)の ITCollection を含む VARIANT へのポインター。

戻り値

このメソッドは、次のいずれかの値を返すことがあります。

意味
S_OK
メソッドは成功しました。
E_POINTER
pCalls パラメーターが有効なポインターではありません。
E_OUTOFMEMORY
操作を実行するためのメモリが不足しています。

解説(Remarks)

TAPI は、ITCallHub::get_Calls によって返される ITCallInfo インターフェースに対して AddRef メソッドを呼び出します。アプリケーションは、 ITCallInfo インターフェースに関連付けられたリソースを解放するために、そのインターフェースに対して Release を呼び出す必要があります。

vtbl 10 HRESULT get_NumCalls(INT* plCalls)

get_NumCalls メソッドは、現在 CallHub に存在する通話(コール)の数を取得します。

plCallsINT*outCallHub 内の通話(コール)の総数。

戻り値

このメソッドは、次のいずれかの値を返すことがあります。

戻り値 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するためのメモリが不足しています。
E_POINTER
plCalls パラメーターが有効なポインターではありません。
vtbl 11 HRESULT get_State(CALLHUB_STATE* pState)

get_State メソッドは、CallHub の現在の状態を取得します。

pStateCALLHUB_STATE*out状態を示す CALLHUB_STATE へのポインター。

戻り値

このメソッドは、次のいずれかの値を返すことがあります。

戻り値 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するためのメモリが不足しています。
E_POINTER
pState パラメーターが有効なポインターではありません。
出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

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

出力引数:
#define global IID_ITCallHub "{A3C1544E-5B92-11D1-8F4E-00C04FB6809F}"
#usecom global ITCallHub IID_ITCallHub "{}"
#comfunc global ITCallHub_Clear           7
#comfunc global ITCallHub_EnumerateCalls  8 sptr
#comfunc global ITCallHub_get_Calls       9 var
#comfunc global ITCallHub_get_NumCalls    10 var
#comfunc global ITCallHub_get_State       11 var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。
; ※IDispatch 実装。HSP では comobj 経由でメソッド名による呼び出しも可能(vtbl 不要)。