lineCompleteTransfer 関数 (tapi.h)

lineCompleteTransfer 関数は、コンサルテーション呼び出しで接続されているパーティへの指定された呼び出しの転送を完了します。

構文

LONG lineCompleteTransfer(
  HCALL   hCall,
  HCALL   hConsultCall,
  LPHCALL lphConfCall,
  DWORD   dwTransferMode
);

パラメーター

hCall

転送する呼び出しを処理します。 アプリケーションは、この呼び出しの所有者である必要があります。 hCall の呼び出し状態は、onHold または onHoldPendingTransfer である必要があります。

hConsultCall

転送先との接続を表す呼び出しを処理します。 アプリケーションは、この呼び出しの所有者である必要があります。 hConsultCall の呼び出し状態は、接続リングバックビジー、または続行である必要があります。

lphConfCall

hCall ハンドルを返すことができるメモリ位置へのポインター。 dwTransferMode がLINETRANSFERMODE_CONFERENCE場合、新しく作成された電話会議は lphConfCall で返され、アプリケーションは電話会議の唯一の所有者になります。 それ以外の場合、このパラメーターは TAPI によって無視されます。

dwTransferMode

開始された転送要求を解決する方法。 このパラメーターは、 LINETRANSFERMODE_定数のいずれかを使用します。

戻り値

関数が非同期的に完了した場合は正の要求識別子を返し、エラーが発生した場合は負のエラー番号を返します。 関数が成功した場合は、対応するLINE_REPLY メッセージの dwParam2 パラメーターは 0、エラーが発生した場合は負のエラー番号です。 可能な戻り値は次のとおりです。

LINEERR_INVALCALLHANDLE、LINEERR_NOTOWNER、LINEERR_INVALCALLSTATE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALCONSULTCALLHANDLE、LINEERR_OPERATIONFAILED、LINEERR_INVALTRANSFERMODE、LINEERR_RESOURCEUNAVAIL、LINEERR_INVALPOINTER、LINEERR_UNINITIALIZED、LINEERR_NOMEM。

注釈

lineCompleteTransfer 関数の呼び出しに応答して送信されるLINE_REPLY メッセージは、hCall パラメーターで指定された呼び出しの状態に基づいています。

この操作により、hConsultCall によって現在接続されているパーティへの元の呼び出し hCall の転送が完了します。 通常、コンサルテーション コールは lineSetupTransfer の一部として割り当てられたコンサルテーション コールでダイヤルされますが、スイッチが hCall を転送できる任意の呼び出しを指定できます。

転送要求は、転送または 3 方向の電話会議として解決できます。 転送として解決されると、 hCallhConsultCall で接続されているパーティが相互に接続され、 hCallhConsultCall の 両方が通常、アプリケーションの行からクリアされ、 アイドル 状態に遷移します。 転送が完了した後も、アプリケーションの呼び出しハンドルは有効なままです。 転送された呼び出しに関心がなくなった場合、アプリケーションは lineDeallocateCall を使用してハンドルの割り当てを解除する必要があります。

会議として解決されると、3 つの関係者全員が電話会議に参加します。 既存の呼び出しハンドルはどちらも有効なままですが、 会議 状態に移行します。 電話会議ハンドルが作成されて返され、 接続 状態に遷移します。

lineCompleteTransfer の直後に lineGetConfRelatedCalls が呼び出され、呼び出しが会議の結果と共に呼び出された場合、lineGetConfRelatedCalls は関連する呼び出しの完全な一覧を返さない可能性があります。 これは、TAPI は、通話が実際に会議の一部であると 見なす 前に、通話がLINECALLSTATE_CONFERENCEDに入ったことを示すLINE_CALLSTATE メッセージの受信を待機するためです。 つまり、サービス プロバイダーが会議状態を確認するまで待機します。 アプリケーションがLINE_CALLSTATE メッセージを受信すると、 lineGetConfRelatedCalls は完全な情報を返します。

lineBlindTransfer を使用して呼び出しのブラインド転送を実行することもできます。

要件

要件
対象プラットフォーム Windows
ヘッダー tapi.h
Library Tapi32.lib
[DLL] Tapi32.dll

こちらもご覧ください

LINE_CALLSTATE

LINE_REPLY

補助回線サービス関数

TAPI 2.2 リファレンスの概要

転送の概要

lineBlindTransfer

lineDeallocateCall

lineGetConfRelatedCalls

lineSetupTransfer