TSPI_lineCompleteTransfer関数 (tspi.h)
TSPI_lineCompleteTransfer関数は、指定された呼び出しを、相談呼び出しで接続されたパーティに転送します。 dwTransferMode がLINETRANSFERMODE_CONFERENCE場合、元の通話ハンドルは電話会議に変更されます。 それ以外の場合、サービス プロバイダーは、呼び出しを アイドル状態に変更する呼び出し状態メッセージを送信する必要があります。
構文
LONG TSPIAPI TSPI_lineCompleteTransfer(
DRV_REQUESTID dwRequestID,
HDRVCALL hdCall,
HDRVCALL hdConsultCall,
HTAPICALL htConfCall,
LPHDRVCALL lphdConfCall,
DWORD dwTransferMode
);
パラメーター
dwRequestID
非同期要求の識別子。
hdCall
転送する呼び出しに対するサービス プロバイダーのハンドル。 hdCall の呼び出し状態は onHoldPendingTransfer にすることができます。
hdConsultCall
転送先への接続を表す呼び出しのハンドル。 hdConsultCall の呼び出し状態は、接続、リングバック、ビジー、または続行できます。
htConfCall
このパラメーターは、 dwTransferMode が LINETRANSFERMODE_CONFERENCE として指定されている場合にのみ有効です。 サービス プロバイダーは、このパラメーター値を保存し、呼び出しのイベントを報告する LINEEVENT プロシージャへの後続のすべての呼び出しで使用する必要があります。 それ以外の場合、このパラメーターは無視されます。
lphdConfCall
呼び出しのサービス プロバイダーの識別子を表す HDRVCALL へのポインター。 このパラメーターは、 dwTransferMode が LINETRANSFERMODE_CONFERENCE として指定されている場合にのみ有効です。 サービス プロバイダーは、この関数から戻る前に、新しい電話会議のハンドルをこの場所に入力する必要があります。
dwTransferMode
開始された転送要求を解決する方法を指定します。 このパラメーターは、 LINETRANSFERMODE_定数のいずれかを使用します。
戻り値
エラーが発生した場合は 、dwRequestID またはエラー番号を返します。 関数が成功した場合は対応するASYNC_COMPLETIONの lResult 実際のパラメーターは 0、エラーが発生した場合はエラー番号です。 可能な戻り値は次のとおりです。
LINEERR_INVALCALLHANDLE、LINEERR_OPERATIONUNAVAIL、LINEERR_INVALCALLSTATE、LINEERR_OPERATIONFAILED、LINEERR_NOMEM、LINEERR_RESOURCEUNAVAIL。
注釈
この関数は、hdConsultCall を介して現在接続されているパーティへの元の呼び出し hdCall の転送を完了します。 通常、コンサルテーション コールは、 TSPI_lineSetupTransferの一部として割り当てられたコンサルテーション コールでダイヤルされますが、 スイッチが hdCall を転送できる任意の呼び出しを指定できます。
転送要求は、転送または 3 方向の電話会議として解決できます。 転送として解決されると、 hdCall と hdConsultCall を介して接続されたパーティが相互に接続され、 hdCall と hdConsultCall の 両方がアイドル状態に移行します。
会議として解決されると、3 つの関係者全員が電話会議に参加します。 既存の呼び出しハンドルはどちらも有効なままですが、 会議 状態に移行します。 電話会議ハンドルが作成されて返され、 接続 状態に遷移します。
また、 TSPI_lineBlindTransferを使用して通話のブラインド転送を実行することもできます。
この関数は、呼び出しの有効期間を開始するために TSPI モデルに従うという点で、対応する TAPI 関数とは異なります。 TAPI とサービス プロバイダーは、呼び出しを表す不透明なハンドルを相互に交換します。 さらに、サービス プロバイダーは、このプロシージャから戻る前に、新しい呼び出しのコールバックを実行できます。 いずれの場合も、サービス プロバイダーは、一致する ASYNC_COMPLETION メッセージが成功を報告するまで、返されたハンドルを "まだ有効ではありません" として扱う必要があります。 つまり、新しい呼び出しに LINEEVENT メッセージを発行したり、その行のメッセージまたは状況データ構造の呼び出し数に含めたりすることはできません。
要件
要件 | 値 |
---|---|
対象プラットフォーム | Windows |
ヘッダー | tspi.h |