fungsi TSPI_lineCompleteTransfer (tspi.h)

Fungsi TSPI_lineCompleteTransfer menyelesaikan transfer panggilan yang ditentukan ke pihak yang terhubung dalam panggilan konsultasi. Jika dwTransferMode LINETRANSFERMODE_CONFERENCE, handel panggilan asli diubah menjadi panggilan konferensi. Jika tidak, penyedia layanan harus mengirim pesan status panggilan yang mengubah panggilan menjadi menganggur.

Sintaks

LONG TSPIAPI TSPI_lineCompleteTransfer(
  DRV_REQUESTID dwRequestID,
  HDRVCALL      hdCall,
  HDRVCALL      hdConsultCall,
  HTAPICALL     htConfCall,
  LPHDRVCALL    lphdConfCall,
  DWORD         dwTransferMode
);

Parameter

dwRequestID

Pengidentifikasi permintaan asinkron.

hdCall

Pegangan penyedia layanan ke panggilan yang akan ditransfer. Status panggilan hdCall dapat berupa onHoldPendingTransfer.

hdConsultCall

Handel ke panggilan yang mewakili koneksi ke tujuan transfer. Status panggilan hdConsultCall dapat dihubungkan, berdering,sibuk, atau melanjutkan.

htConfCall

Parameter ini hanya valid jika dwTransferMode ditentukan sebagai LINETRANSFERMODE_CONFERENCE. Penyedia layanan harus menyimpan nilai parameter ini dan menggunakannya dalam semua panggilan berikutnya ke prosedur LINEEVENT yang melaporkan peristiwa pada panggilan. Jika tidak, parameter ini diabaikan.

lphdConfCall

Pointer ke HDRVCALL yang mewakili pengidentifikasi penyedia layanan untuk panggilan. Parameter ini hanya valid jika dwTransferMode ditentukan sebagai LINETRANSFERMODE_CONFERENCE. Penyedia layanan harus mengisi lokasi ini dengan handelnya untuk panggilan konferensi baru sebelum kembali dari fungsi ini.

dwTransferMode

Menentukan bagaimana permintaan transfer yang dimulai akan diselesaikan. Parameter ini menggunakan salah satu konstanta LINETRANSFERMODE_.

Nilai kembali

Mengembalikan dwRequestID atau nomor kesalahan jika terjadi kesalahan. Parameter aktual lResult dari ASYNC_COMPLETION yang sesuai adalah nol jika fungsi berhasil atau nomor kesalahan jika terjadi kesalahan. Kemungkinan nilai yang dikembalikan adalah sebagai berikut:

LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_NOMEM, LINEERR_RESOURCEUNAVAIL.

Keterangan

Fungsi ini menyelesaikan transfer panggilan asli, hdCall, ke pihak yang saat ini terhubung melalui hdConsultCall. Panggilan konsultasi biasanya dihubungi pada panggilan konsultasi yang dialokasikan sebagai bagian dari TSPI_lineSetupTransfer, tetapi dapat menjadi panggilan apa pun yang sakelarnya mampu mentransfer hdCall.

Permintaan transfer dapat diselesaikan baik sebagai transfer atau sebagai panggilan konferensi tiga arah. Ketika diselesaikan sebagai transfer, pihak yang terhubung melalui hdCall dan hdConsultCall terhubung satu sama lain, dan transisi hdCall dan hdConsultCall ke status menganggur.

Ketika diselesaikan sebagai konferensi, ketiga pihak masuk ke dalam panggilan konferensi. Kedua handel panggilan yang ada tetap valid, tetapi transisi ke status konferensi . Handel panggilan konferensi dibuat dan dikembalikan, dan beralih ke status tersambung .

Dimungkinkan juga untuk melakukan transfer panggilan buta menggunakan TSPI_lineBlindTransfer.

Fungsi ini berbeda dari fungsi TAPI yang sesuai karena mengikuti model TSPI untuk memulai masa pakai panggilan. TAPI dan penyedia layanan bertukar handel buram yang mewakili panggilan satu sama lain. Selain itu, penyedia layanan diizinkan untuk melakukan panggilan balik untuk panggilan baru sebelum kembali dari prosedur ini. Bagaimanapun, penyedia layanan juga harus memperlakukan handel yang dikembalikan sebagai "belum valid" sampai setelah pesan ASYNC_COMPLETION yang cocok melaporkan keberhasilan. Dengan kata lain, tidak boleh mengeluarkan pesan LINEEVENT apa pun untuk panggilan baru atau menyertakannya dalam jumlah panggilan dalam pesan atau struktur data status untuk baris tersebut.

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header tspi.h

Lihat juga

ASYNC_COMPLETION

LINEEVENT

Konstanta LINETRANSFERMODE_

LINE_CALLSTATE

TSPI_lineBlindTransfer

TSPI_lineCloseCall

TSPI_lineSetupTransfer