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

ITBasicCallControl

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

公式ドキュメント

ITBasicCallControl インターフェイスは、アプリケーションがコールオブジェクトに対して接続、応答、および基本的なテレフォニー操作を実行するために使用します。

メソッド 18

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

vtbl 7 HRESULT Connect(VARIANT_BOOL fSync)

Connect メソッドは、発信コールの接続を完了しようとします。

fSyncVARIANT_BOOLin接続を同期的に実行する (VARIANT_TRUE) か、非同期的に実行する (VARIANT_FALSE) かを示すブール値。

戻り値

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

リターンコード 説明
S_OK
メソッドは成功しました。
TAPI_E_INVALCALLSTATE

コール状態CS_IDLE でなければなりません。

TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトしたため、操作は失敗しました。タイムアウト間隔は 2 分です。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。

解説(Remarks)

コールが非同期の場合、アプリケーションは ITCallNotificationEvent アウトゴーイングインターフェイスを通じて、コールの進行状況に関する情報を受け取ります。アプリケーションは Connect を呼び出す前に、このアウトゴーイングインターフェイスを登録しておく必要があります。 ConnectS_OK を返す場合がありますが、実際の接続は失敗することがあります (その場合、アプリケーションはアウトゴーイングインターフェイスを通じて通知されます)。

コールが同期の場合、このメソッドはコールが接続状態になるか失敗するまで制御を返しません。

vtbl 8 HRESULT Answer()

Answer メソッドは、着信コールに応答します。このメソッドは、コール状態が CS_OFFERING である場合にのみ成功します。

戻り値

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

リターンコード 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_UNEXPECTED
コール状態が CS_OFFERING ではありませんでした。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトしたため、操作は失敗しました。タイムアウト間隔は 2 分です。
vtbl 9 HRESULT Disconnect(DISCONNECT_CODE code)

Disconnect メソッドは、コールを切断します。メソッドが正常に完了すると、コール状態は CS_DISCONNECTED に遷移します。

codeDISCONNECT_CODEinコール切断の理由を示す DISCONNECT_CODE

戻り値

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

リターンコード 説明
S_OK
メソッドは成功しました。
S_FALSE
コール状態が CS_IDLE であるか、TAPI 3 DLL がコールの有効なハンドルを取得できませんでした。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトしたため、操作は失敗しました。タイムアウト間隔は 2 分です。
vtbl 10 HRESULT Hold(VARIANT_BOOL fHold)

Hold メソッドは、コールを保留にする、または保留を解除します。

fHoldVARIANT_BOOLinfHoldVARIANT_TRUE でメソッドが成功すると、 コール状態CS_HOLD 状態に遷移します。fHoldVARIANT_FALSE の場合、コール状態は CS_CONNECTED に遷移します。

戻り値

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

リターンコード 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
TAPI_E_INVALCALLSTATE
このインターフェイスに関連付けられたコールは既に存在しません。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトしたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

一部のサービスプロバイダーは、ストリーミングがアクティブな間はこの操作をサポートしません。アプリケーションは、操作の前に ITStream::StopStream または ITSubStream::StopSubStream を呼び出し、操作の完了後に ITStream::StartStream または ITSubStream::StartSubStream を呼び出す必要がある場合があります。

vtbl 11 HRESULT HandoffDirect(LPWSTR pApplicationName)

HandoffDirect メソッドは、コールを別のアプリケーションにハンドオフします。これは、アプリケーションがそのコールの所有権を必要としなくなったことを示します。

pApplicationNameLPWSTRinコールのハンドオフ先となる特定のアプリケーション名を格納した BSTR へのポインター。フルパス名または実行ファイル名を指定できます。

戻り値

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

リターンコード 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_POINTER
pApplicationName パラメーターが有効なポインターではありません。

解説(Remarks)

一部のサービスプロバイダーは、ストリーミングがアクティブな間はこの操作をサポートしません。アプリケーションは、操作の前に ITStream::StopStream または ITSubStream::StopSubStream を呼び出し、操作の完了後に ITStream::StartStream または ITSubStream::StartSubStream を呼び出す必要がある場合があります。

受信側のアプリケーションが、コールに関係するメディアタイプに対して回線を開いていない場合、ハンドオフは失敗します。TAPI がコールのハンドオフに失敗した場合、TAPI は Disconnect を呼び出します。

アプリケーションは、pApplicationName パラメーターのメモリを割り当てるために SysAllocString を使用し、変数が不要になったときにメモリを解放するために SysFreeString を使用する必要があります。

vtbl 12 HRESULT HandoffIndirect(INT lMediaType)

HandoffIndirect メソッドは、コールのメディアタイプに基づいて、コールを別のアプリケーションにハンドオフします。

lMediaTypeINTin転送先の メディアタイプ

戻り値

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

リターンコード 説明
S_OK
メソッドは成功しました。
E_INVALIDARG
lMediaType パラメーターが有効ではありません。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。

解説(Remarks)

一部のサービスプロバイダーは、ストリーミングがアクティブな間はこの操作をサポートしません。アプリケーションは、操作の前に ITStream::StopStream または ITSubStream::StopSubStream を呼び出し、操作の完了後に ITStream::StartStream または ITSubStream::StartSubStream を呼び出す必要がある場合があります。

TAPI がコールのハンドオフに失敗した場合、TAPI は Disconnect を呼び出します。

vtbl 13 HRESULT Conference(ITBasicCallControl* pCall, VARIANT_BOOL fSync)

Conference メソッドは、現在のコールが参加している会議に、相談コール (consultation call) を追加します。関連する ITCallHub オブジェクトが存在しない場合は、新たに作成されます。

pCallITBasicCallControl*in相談コールの ITBasicCallControl インターフェイスへのポインター。
fSyncVARIANT_BOOLinコールを同期的に (VARIANT_TRUE) 会議に追加するか、非同期的に (VARIANT_FALSE) 追加するかを示します。詳細については Connect を参照してください。

戻り値

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

リターンコード 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_POINTER
pCall パラメーターが有効なポインターではありません。
E_INVALIDARG
pCall パラメーターが有効なインターフェイスを指していません。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトしたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

一部のサービスプロバイダーは、ストリーミングがアクティブな間はこの操作をサポートしません。アプリケーションは、操作の前に ITStream::StopStream または ITSubStream::StopSubStream を呼び出し、操作の完了後に ITStream::StartStream または ITSubStream::StartSubStream を呼び出す必要がある場合があります。

相談コール (pCall) は ITAddress::CreateCall によって作成されます。接続は Finish メソッドを呼び出すことで完了します。このメソッドの使用例については、 Create a Simple Conference を参照してください。

Conference が呼び出されたときに相談コールが CONNECTED 状態でない場合、TAPI は (相談コールが最初に ITAddress::CreateCall で作成されたときに指定された) 宛先アドレスを使用して、その時点で接続を試みます。元のコールの宛先アドレスが NULL であった場合、Conference は E_INVALIDARG で失敗します。

vtbl 14 HRESULT Transfer(ITBasicCallControl* pCall, VARIANT_BOOL fSync)

Transfer メソッドは、現在のコールを宛先アドレスに転送します。

pCallITBasicCallControl*in転送のために作成された相談コールの ITBasicCallControl インターフェイスへのポインター。
fSyncVARIANT_BOOLinメソッドを同期的に (VARIANT_TRUE) 完了するか、非同期的に (VARIANT_FALSE) 完了するかを示します。

戻り値

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

意味
S_OK
メソッドは成功しました。
E_INVALIDARG
pCall パラメーターが有効なコールを指していません。
E_FAIL
転送はサポートされていません。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトしたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

一部のサービスプロバイダーは、ストリーミングがアクティブな間はこの操作をサポートしません。アプリケーションは、操作の前に ITStream::StopStream または ITSubStream::StopSubStream を呼び出し、操作の完了後に ITStream::StartStream または ITSubStream::StartSubStream を呼び出す必要がある場合があります。

コール転送では、転送の準備として相談コールを設定します。pCall は、相談コールの作成後に ITAddress::CreateCall によって返される ITBasicCallControl ポインターです。 ITBasicCallControl::Finish (FM_ASTRANSFER) が転送を完了します。

Transfer が呼び出されたときに相談コールが CONNECTED 状態でない場合、TAPI は (相談コールが最初に ITAddress::CreateCall で作成されたときに指定された) 宛先アドレスを使用して、その時点で接続を試みます。元のコールの宛先アドレスが NULL であった場合、 TransferE_INVALIDARG で失敗します。

vtbl 15 HRESULT BlindTransfer(LPWSTR pDestAddress)

BlindTransfer メソッドは、指定したコールを指定した宛先アドレスへ、ブラインド転送 (単一ステップ転送) します。アプリケーションはそのコールの所有者でなければなりません。転送が成功すると、コール状態は CS_DISCONNECTED に遷移します。

pDestAddressLPWSTRin転送先の宛先アドレスを格納した BSTR へのポインター。

戻り値

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

リターンコード 説明
S_OK
メソッドは成功しました。
E_POINTER
pDestAddress が有効なポインターではありません。
E_FAIL
ブラインド転送はサポートされていません。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトしたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

一部のサービスプロバイダーは、ストリーミングがアクティブな間はこの操作をサポートしません。アプリケーションは、操作の前に ITStream::StopStream または ITSubStream::StopSubStream を呼び出し、操作の完了後に ITStream::StartStream または ITSubStream::StartSubStream を呼び出す必要がある場合があります。

アプリケーションは、pDestAddress パラメーターのメモリを割り当てるために SysAllocString を使用し、変数が不要になったときにメモリを解放するために SysFreeString を使用する必要があります。

場合によっては、適切な形式の pDestAddress 文字列を取得するために、アプリケーションはアドレス変換インターフェイス ( ITAddressTranslation および ITAddressTranslationInfo) を使用する必要がある場合があります。

vtbl 16 HRESULT SwapHold(ITBasicCallControl* pCall)

SwapHold メソッドは、(アクティブな) コールを、保留中の指定したコールと切り替えます。

pCallITBasicCallControl*inアクティブにする、現在保留中のコール。

戻り値

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

リターンコード 説明
S_OK
メソッドは成功しました。
E_FAIL
この操作はサポートされていません。
E_POINTER
pCall パラメーターが有効なポインターではありません。
E_INVALIDARG
pCall パラメーターが現在存在するコールを表していません。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_OPERATIONFAILED
操作は失敗しました。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトしたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

一部のサービスプロバイダーは、ストリーミングがアクティブな間はこの操作をサポートしません。アプリケーションは、操作の前に ITStream::StopStream または ITSubStream::StopSubStream を呼び出し、操作の完了後に ITStream::StartStream または ITSubStream::StartSubStream を呼び出す必要がある場合があります。

vtbl 17 HRESULT ParkDirect(LPWSTR pParkAddress)

ParkDirect メソッドは、指定したアドレスにコールをパークします。

pParkAddressLPWSTRinコールのパーク先となるアドレスを格納した BSTR へのポインター。

戻り値

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

リターンコード 説明
S_OK
メソッドは成功しました。
E_POINTER
pParkAddress パラメーターが有効なポインターではありません。
E_FAIL
パークはサポートされていません。
E_INVALIDARG
pParkAddress パラメーターが有効ではありません。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトしたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

一部のサービスプロバイダーは、ストリーミングがアクティブな間はこの操作をサポートしません。アプリケーションは、操作の前に ITStream::StopStream または ITSubStream::StopSubStream を呼び出し、操作の完了後に ITStream::StartStream または ITSubStream::StartSubStream を呼び出す必要がある場合があります。

ダイレクトパークでは、アプリケーションがコールをパークするアドレスを決定します。 ParkInDirect では、交換機 (スイッチ) がアドレスを決定し、それをアプリケーションに提供します。いずれの場合も、パークされたコールはこのアドレスを指定することでパーク解除できます。

パークされたコールは、正常にパークされた後、切断状態になります。

一部の交換機は、コールが長時間パークされたままになっていると、ユーザーにリマインダーを通知できます。アプリケーションには、コール理由がリマインダーに設定された着信コールが見えます。

アプリケーションは、pParkAddress パラメーターのメモリを割り当てるために SysAllocString を使用し、変数が不要になったときにメモリを解放するために SysFreeString を使用する必要があります。

vtbl 18 HRESULT ParkIndirect(LPWSTR* ppNonDirAddress)

ParkIndirect メソッドは、コールをパークし、パークされたアドレスを返します。

ppNonDirAddressLPWSTR*outコールがパークされたアドレスの BSTR 表現へのポインター。

戻り値

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

リターンコード 説明
S_OK
メソッドは成功しました。
E_POINTER
ppNonDirAddress パラメーターが有効なポインターではありません。
E_FAIL
パークはサポートされていません。
E_INVALIDARG
ppNonDirAddress パラメーターが有効ではありません。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトしたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

一部のサービスプロバイダーは、ストリーミングがアクティブな間はこの操作をサポートしません。アプリケーションは、操作の前に ITStream::StopStream または ITSubStream::StopSubStream を呼び出し、操作の完了後に ITStream::StartStream または ITSubStream::StartSubStream を呼び出す必要がある場合があります。

ParkDirect では、アプリケーションがコールをパークするアドレスを決定します。ノンダイレクトパークでは、交換機 (スイッチ) がアドレスを決定し、それをアプリケーションに提供します。いずれの場合も、パークされたコールはこのアドレスを指定することでパーク解除できます。

パークされたコールは、正常にパークされた後、切断状態になります。

一部の交換機は、コールが長時間パークされたままになっていると、ユーザーにリマインダーを通知できます。アプリケーションには、コール理由がリマインダーに設定された着信コールが見えます。

アプリケーションは、ppNonDirAddress パラメーターに割り当てられたメモリを解放するために SysFreeString を使用する必要があります。

vtbl 19 HRESULT Unpark()

Unpark メソッドは、パークからコールを取り出します。

戻り値

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

意味
S_OK
メソッドは成功しました。
E_FAIL
パーク操作はサポートされていません。
TAPI_E_INVALCALLSTATE
コール状態は CS_IDLE でなければなりません。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトしたため、操作は失敗しました。タイムアウト間隔は 2 分です。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。

解説(Remarks)

パークされたコールをパーク解除するには、コールの現在のパーク先を宛先アドレスとして指定して CreateCall を呼び出す必要があります。以下の例を参照してください。

// 注: この呼び出しで使用されるパラメーターは、コードの別の場所から取得されます。

HRESULT hr = pAddress->CreateCall( bstrAddressToCall,
                           dwAddressType,
                           dwMediaTypes,
                           &pBasicCall
                           );
// ( hr != S_OK ) の場合は、ここでエラーを処理します。

// コールに適切なターミナルを選択してから、次を呼び出します:
pBasicCall->Unpark();
vtbl 20 HRESULT SetQOS(INT lMediaType, QOS_SERVICE_LEVEL ServiceLevel)

SetQOS メソッドは、コールのサービス品質 (QOS) レベルを設定します。

lMediaTypeINTinコールの メディアタイプ
ServiceLevelQOS_SERVICE_LEVELinコールに希望する QOS レベルを示す QOS_SERVICE_LEVEL 指標。

戻り値

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

リターンコード 説明
S_OK
メソッドは成功しました。
E_INVALIDARG
lMediaType パラメーターが有効なメディアタイプではありません。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
vtbl 21 HRESULT Pickup(LPWSTR pGroupID)

Pickup メソッドは、指定したグループ識別子で鳴動している (アラート中の) コールをピックアップします。

pGroupIDLPWSTRinアラート中のステーションが属するグループ識別子を格納した BSTR へのポインター。

戻り値

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

リターンコード 説明
S_OK
メソッドは成功しました。
E_FAIL
ピックアップは成功しませんでした。
E_POINTER
pGroupID パラメーターが有効なポインターではありません。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトしたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

アプリケーションは、pGroupID パラメーターのメモリを割り当てるために SysAllocString を使用し、変数が不要になったときにメモリを解放するために SysFreeString を使用する必要があります。

vtbl 22 HRESULT Dial(LPWSTR pDestAddress)

Dial メソッドは、指定したアドレスをダイヤルします。

pDestAddressLPWSTRinダイヤルするアドレスの BSTR 表現へのポインター。形式は標準の ダイヤル可能なアドレス に準拠している必要があります。

戻り値

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

意味
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
E_POINTER
pDestAddress パラメーターが有効なポインターではありません。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトしたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

アプリケーションは、pDestAddress パラメーターのメモリを割り当てるために SysAllocString を使用し、変数が不要になったときにメモリを解放するために SysFreeString を使用する必要があります。

場合によっては、適切な形式の pDestAddress 文字列を取得するために、アプリケーションはアドレス変換インターフェイス ( ITAddressTranslation および ITAddressTranslationInfo) を使用する必要がある場合があります。

Dial メソッドは、コールがすでに存在するという点で ITAddress::CreateCall とは異なります。使用例としては、内線番号をダイヤルする場合が挙げられます。

vtbl 23 HRESULT Finish(FINISH_MODE finishMode)

Finish メソッドは、会議または転送を完了するために相談コールに対して呼び出されます。

finishModeFINISH_MODEin完了するコールの種類を示す FINISH_MODE 指標 (FM_ASCONFERENCE など)。

戻り値

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

リターンコード 説明
S_OK
メソッドは成功しました。
TAPI_E_INVALCALLSTATE
コールが転送または会議としてフラグ付けされていません。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトしたため、操作は失敗しました。タイムアウト間隔は 2 分です。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。

解説(Remarks)

一部のサービスプロバイダーは、ストリーミングがアクティブな間はこの操作をサポートしません。アプリケーションは、操作の前に ITStream::StopStream または ITSubStream::StopSubStream を呼び出し、操作の完了後に ITStream::StartStream または ITSubStream::StartSubStream を呼び出す必要がある場合があります。

vtbl 24 HRESULT RemoveFromConference()

RemoveFromConference メソッドは、コールが会議に参加している場合、その会議からコールを削除します。

戻り値

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

リターンコード 説明
S_OK
メソッドは成功しました。
E_OUTOFMEMORY
操作を実行するのに十分なメモリがありません。
TAPI_E_TIMEOUT
TAPI 3 DLL がタイムアウトしたため、操作は失敗しました。タイムアウト間隔は 2 分です。

解説(Remarks)

一部のサービスプロバイダーは、ストリーミングがアクティブな間はこの操作をサポートしません。アプリケーションは、操作の前に ITStream::StopStream または ITSubStream::StopSubStream を呼び出し、操作の完了後に ITStream::StartStream または ITSubStream::StartSubStream を呼び出す必要がある場合があります。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_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 不要)。