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 方向の電話会議として解決できます。 転送として解決されると、 hCall と hConsultCall で接続されているパーティが相互に接続され、 hCall と hConsultCall の 両方が通常、アプリケーションの行からクリアされ、 アイドル 状態に遷移します。 転送が完了した後も、アプリケーションの呼び出しハンドルは有効なままです。 転送された呼び出しに関心がなくなった場合、アプリケーションは lineDeallocateCall を使用してハンドルの割り当てを解除する必要があります。
会議として解決されると、3 つの関係者全員が電話会議に参加します。 既存の呼び出しハンドルはどちらも有効なままですが、 会議 状態に移行します。 電話会議ハンドルが作成されて返され、 接続 状態に遷移します。
lineCompleteTransfer の直後に lineGetConfRelatedCalls が呼び出され、呼び出しが会議の結果と共に呼び出された場合、lineGetConfRelatedCalls は関連する呼び出しの完全な一覧を返さない可能性があります。 これは、TAPI は、通話が実際に会議の一部であると 見なす 前に、通話がLINECALLSTATE_CONFERENCEDに入ったことを示すLINE_CALLSTATE メッセージの受信を待機するためです。 つまり、サービス プロバイダーが会議状態を確認するまで待機します。 アプリケーションがLINE_CALLSTATE メッセージを受信すると、 lineGetConfRelatedCalls は完全な情報を返します。
lineBlindTransfer を使用して呼び出しのブラインド転送を実行することもできます。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | tapi.h |
Library | Tapi32.lib |
[DLL] | Tapi32.dll |