fungsi TSPI_lineSetMediaControl (tspi.h)
Fungsi TSPI_lineSetMediaControl mengaktifkan dan menonaktifkan tindakan kontrol pada aliran media yang terkait dengan baris, alamat, atau panggilan yang ditentukan. Tindakan kontrol media dapat dipicu oleh deteksi digit, jenis media, nada kustom, dan status panggilan tertentu. Kontrol media baru yang ditentukan menggantikan semua yang berlaku untuk baris, alamat, atau panggilan ini sebelum permintaan ini.
Sintaks
LONG TSPIAPI TSPI_lineSetMediaControl(
HDRVLINE hdLine,
DWORD dwAddressID,
HDRVCALL hdCall,
DWORD dwSelect,
LPLINEMEDIACONTROLDIGIT const lpDigitList,
DWORD dwDigitNumEntries,
LPLINEMEDIACONTROLMEDIA const lpMediaList,
DWORD dwMediaNumEntries,
LPLINEMEDIACONTROLTONE const lpToneList,
DWORD dwToneNumEntries,
LPLINEMEDIACONTROLCALLSTATE const lpCallStateList,
DWORD dwCallStateNumEntries
);
Parameter
hdLine
Handel ke garis.
dwAddressID
Alamat pada perangkat baris terbuka yang diberikan. Pengidentifikasi alamat secara permanen dikaitkan dengan alamat; pengidentifikasi tetap konstan di seluruh peningkatan sistem operasi. TAPI tidak memvalidasi parameter ini ketika fungsi ini dipanggil.
hdCall
Handel ke panggilan. Status panggilan hdCall dapat menjadi status apa pun.
dwSelect
Menentukan apakah kontrol media diminta dikaitkan dengan satu panggilan, adalah default untuk semua panggilan pada alamat, atau merupakan default untuk semua panggilan pada satu baris. Parameter ini menggunakan konstanta LINECALLSELECT_ berikut.
lpDigitList
Penunjuk ke array yang berisi digit yang akan memicu tindakan kontrol media, dari jenis LINEMEDIACONTROLDIGIT. Setiap kali digit yang tercantum dalam daftar digit terdeteksi, tindakan kontrol media yang ditentukan dilakukan pada aliran media panggilan.
Digit yang valid untuk mode pulsa adalah '0' hingga '9'. Digit yang valid untuk mode DTMF adalah '0' hingga '9', 'A', 'B', 'C', 'D', '*', '#'.
dwDigitNumEntries
Jumlah entri dalam lpDigitList. TAPI tidak memvalidasi parameter ini ketika fungsi ini dipanggil.
lpMediaList
Penunjuk ke array dengan entri jenis LINEMEDIACONTROLMEDIA. Array memiliki entri dwMediaNumEntries . Setiap entri berisi jenis media yang akan dipantau, informasi spesifik jenis media (seperti durasi), dan bidang kontrol media. Jika jenis media dalam daftar terdeteksi, tindakan kontrol media yang sesuai dilakukan pada aliran media panggilan.
dwMediaNumEntries
Jumlah entri dalam lpMediaList. TAPI tidak memvalidasi parameter ini ketika fungsi ini dipanggil.
lpToneList
Penunjuk ke array dengan entri jenis LINEMEDIACONTROLTONE. Array memiliki entri dwToneNumEntries . Setiap entri berisi deskripsi nada yang akan dipantau, durasi nada, dan bidang kontrol media. Jika nada dalam daftar terdeteksi, tindakan kontrol media yang sesuai dilakukan pada aliran media panggilan.
dwToneNumEntries
Jumlah entri dalam lpToneList. TAPI tidak memvalidasi parameter ini ketika fungsi ini dipanggil.
lpCallStateList
Penunjuk ke array dengan entri jenis LINEMEDIACONTROLCALLSTATE. Array memiliki entri dwCallStateNumEntries . Setiap entri berisi status panggilan dan tindakan kontrol media.
dwCallStateNumEntries
Jumlah entri dalam lpCallStateList. TAPI tidak memvalidasi parameter ini ketika fungsi ini dipanggil.
Nilai kembali
Mengembalikan nol jika fungsi berhasil, atau angka kesalahan jika terjadi kesalahan. Kemungkinan nilai yang dikembalikan adalah sebagai berikut:
LINEERR_INVALADDRESSID, LINEERR_INVALPOINTER, LINEERR_INVALCALLHANDLE, LINEERR_INVALTONELIST, LINEERR_INVALCALLSELECT, LINEERR_NOMEM, LINEERR_INVALCALLSTATELIST, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALDIGITLIST, LINEERR_OPERATIONFAILED, LINEERR_INVALLINEHANDLE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALMEDIALIST.
Keterangan
Fungsi ini mengembalikan nol (berhasil) ketika kontrol media dimulai dengan benar, bukan ketika kontrol media berlaku. Kontrol media yang sedang berlangsung diubah atau dibatalkan ketika fungsi ini dipanggil lagi dengan parameter yang berbeda atau NULLs.
Hanya satu permintaan kontrol media yang dapat keluar pada panggilan pada satu waktu. Permintaan menggantikan yang mungkin luar biasa.
Tergantung pada penyedia layanan dan aktivitas lain yang bersaing untuk sumber daya tersebut, jumlah deteksi simultan yang dapat dilakukan dapat bervariasi dari waktu ke waktu. Jika sumber daya penyedia layanan overcommitted, sumber daya akan mengembalikan LINEERR_RESOURCEUNAVAIL.
Apakah kontrol media didukung oleh penyedia layanan atau tidak adalah kemampuan perangkat yang ditunjukkan dalam LINEDEVCAPS.
Setiap kali TSPI_lineSetMediaControl dipanggil, permintaan baru mengambil alih kontrol media apa pun yang saat ini berlaku. Jika satu atau beberapa parameter lpDigitList, lpMediaList, lpToneList, dan lpCallStateListadalah NULL, digit yang sesuai, jenis media, nada, atau kontrol media yang dipicu status dinonaktifkan. Untuk memodifikasi hanya sebagian parameter kontrol media sambil membiarkan pengaturan yang tersisa berlaku, aplikasi harus memanggil TSPI_lineSetMediaControl menyediakan parameter sebelumnya untuk bagian-bagian yang harus tetap berlaku, dan parameter baru untuk bagian-bagian yang akan dimodifikasi.
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