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

LINEDEVCAPS

Konstanta LINEDIGITMODE_

LINEMEDIACONTROLCALLSTATE

LINEMEDIACONTROLDIGIT

LINEMEDIACONTROLMEDIA

LINEMEDIACONTROLTONE

Konstanta LINEMEDIAMODE_

TSPI_lineGetDevCaps