fungsi TSPI_linePickup (tspi.h)
Fungsi TSPI_linePickup mengambil pemberitahuan panggilan di alamat tujuan yang ditentukan dan mengembalikan handel panggilan untuk panggilan yang diambil. Jika dipanggil dengan NULL untuk parameter lpszDestAddress , pengambilan grup dilakukan. Jika diperlukan oleh kemampuan perangkat, lpszGroupID menentukan pengidentifikasi grup tempat stasiun peringatan berada.
Sintaks
LONG TSPIAPI TSPI_linePickup(
DRV_REQUESTID dwRequestID,
HDRVLINE hdLine,
DWORD dwAddressID,
HTAPICALL htCall,
LPHDRVCALL lphdCall,
LPCWSTR lpszDestAddress,
LPCWSTR lpszGroupID
);
Parameter
dwRequestID
Pengidentifikasi permintaan asinkron.
hdLine
Handel ke baris tempat panggilan akan diambil.
dwAddressID
Alamat pada hdLine tempat pengambilan akan berasal. Pengidentifikasi alamat secara permanen dikaitkan dengan alamat; pengidentifikasi tetap konstan di seluruh peningkatan sistem operasi.
htCall
TAPI menangani panggilan baru. Penyedia layanan harus menyimpan ini dan menggunakannya dalam semua panggilan berikutnya ke prosedur LINEEVENT yang melaporkan peristiwa pada panggilan.
lphdCall
Pointer ke HDRVCALL yang mewakili pengidentifikasi penyedia layanan untuk panggilan. Penyedia layanan harus mengisi lokasi ini dengan handelnya untuk panggilan sebelum prosedur ini kembali. Handel ini diabaikan oleh TAPI jika fungsi menghasilkan kesalahan.
lpszDestAddress
Penunjuk ke string Unicode yang dihentikan null yang berisi alamat yang panggilannya akan diambil. Alamatnya adalah format tautan standar.
lpszGroupID
Penunjuk ke string Unicode yang dihentikan null yang berisi pengidentifikasi grup tempat stasiun pemberitahuan berada. Parameter ini diperlukan pada beberapa sakelar untuk mengambil panggilan di luar grup penjemputan saat ini.
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_INVALLINEHANDLE, LINEERR_NOMEM, LINEERR_INVALADDRESSID, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALADDRESS, LINEERR_OPERATIONFAILED, LINEERR_INVALGROUPID, LINEERR_RESOURCEUNAVAIL.
Keterangan
Ketika panggilan berhasil diambil, penyedia layanan memberi tahu TAPI dengan pesan LINE_CALLSTATE tentang perubahan status panggilan. Struktur LINECALLINFO menyediakan informasi tentang panggilan yang diambil. Ini mencantumkan alasan panggilan sebagai pengambilan. Struktur ini tersedia dengan memanggil TSPI_lineGetCallInfo.
Penyedia layanan mengatur LINEADDRCAPFLAGS_PICKUPCALLWAIT ke TRUE dalam struktur LINEADDRESSCAPS jika TSPI_linePickup dapat digunakan untuk mengambil panggilan yang dengannya pengguna telah mendeteksi sinyal tunggu panggilan, tetapi penyedia tidak dapat melakukan deteksi. Ini memberi pengguna mekanisme untuk menjawab panggilan tunggu meskipun penyedia layanan tidak dapat mendeteksi sinyal tunggu panggilan. Ketika TSPI_linePickup digunakan untuk mengambil panggilan tunggu panggilan, parameter pointer lpszDestAddress dan lpszGroupID adalah NULL. Penyedia layanan membuat handel panggilan baru untuk panggilan tunggu dan meneruskan yang menangani pengguna di lphdCall. Parameter dwAddressID paling sering nol (terutama dalam kasus tempat tinggal satu baris).
Setelah TSPI_linePickup digunakan untuk mengambil panggilan kedua, TSPI_lineSwapHold dapat digunakan untuk beralih di antara mereka. TSPI_lineDrop dapat digunakan untuk menjatuhkan satu (dan beralih ke yang lain), dan seterusnya. Jika pengguna ingin menghentikan panggilan saat ini dan mengambil panggilan kedua, mereka memanggil TSPI_lineDrop ketika mereka mendapatkan bip tunggu panggilan, tunggu hingga panggilan kedua berdering, lalu memanggil TSPI_lineAnswer pada handel panggilan baru. Penyedia layanan menetapkan bendera LINEADDRFEATURE_PICKUP di anggota dwAddressFeatures di LINEADDRESSSTATUS untuk menunjukkan kapan pengambilan sebenarnya dimungkinkan.
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
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk