TSPI_lineConditionalMediaDetection (tspi.h)

Fungsi TSPI_lineConditionalMediaDetection dipanggil oleh TAPI setiap kali aplikasi klien menggunakan LINEMAPPER sebagai dwDeviceID dalam panggilan fungsi lineOpen untuk meminta agar baris dipindai untuk menemukan yang mendukung jenis media yang diinginkan dan parameter panggilan. TAPI memindai berdasarkan penyatuan jenis media yang diinginkan dan jenis media lain yang saat ini sedang dipantau di jalur tersebut, untuk memberi penyedia layanan kesempatan untuk menunjukkan apakah tidak dapat secara bersamaan memantau semua jenis media yang diminta. Jika penyedia layanan dapat memantau set jenis media yang ditunjukkan dan mendukung kemampuan yang ditunjukkan dalam lpCallParams, ia membalas dengan indikasi keberhasilan. Ini membuat mode pemantauan media aktif untuk garis tidak berubah.

Sintaks

LONG TSPIAPI TSPI_lineConditionalMediaDetection(
  HDRVLINE               hdLine,
  DWORD                  dwMediaModes,
  LPLINECALLPARAMS const lpCallParams
);

Parameter

hdLine

Pegangan penyedia layanan ke garis di mana pemantauan media dan kemampuan parameter akan diatur.

dwMediaModes

Jenis media yang saat ini menarik bagi aplikasi panggilan. Parameter ini menggunakan salah satu konstanta LINEMEDIAMODE_.

lpCallParams

Penunjuk ke struktur jenis LINECALLPARAMS. Ini menjelaskan parameter panggilan yang harus dapat disediakan oleh perangkat baris. Satu-satunya bidang lpCallParams yang relevan untuk tujuan pengujian ini adalah sebagai berikut:

dwBearerMode

dwMinRate

dwMaxRate

dwMediaMode

dwCallParamFlags

dwAddressMode

Jika dwAddressMode LINEADDRESSMODE_ADDRESSID, alamat apa pun di baris dapat diterima. Jika dwAddressMode LINEADDRESSMODE_DIALABLEADDR, menunjukkan bahwa alamat asal tertentu (nomor telepon) dicari, atau jika itu adalah ekstensi khusus penyedia, maka dwOrigAddressSize/Offset dan bagian dari bagian variabel yang mereka rujuk juga relevan. Jika dwAddressMode adalah ekstensi khusus penyedia, informasi tambahan dapat dimuat dalam bidang berukuran varian dwDeviceSpecific . Semua bidang lain tidak relevan dengan fungsi.

Nilai kembali

Mengembalikan nol jika fungsi berhasil atau angka kesalahan jika terjadi kesalahan. Kemungkinan nilai yang dikembalikan adalah sebagai berikut:

LINEERR_INVALLINEHANDLE, LINEERR_OPERATIONFAILED, LINEERR_NODRIVER, LINEERR_RESOURCEUNAVAIL, LINEERR_NOMEM, LINEERR_INVALMEDIAMODE, LINEERR_OPERATIONUNAVAIL.

Keterangan

Fungsi TAPI lineOpen yang menentukan pengidentifikasi perangkat LINEMAPPER biasanya mengakibatkan pemanggilan prosedur ini untuk beberapa perangkat baris untuk berburu baris yang sesuai, mungkin juga membuka baris yang belum dibuka. Hasil keberhasilan menunjukkan bahwa baris tersebut cocok untuk persyaratan aplikasi panggilan.

Catatan Mode pemantauan media yang diminta di tingkat TSPI adalah penyatuan mode pemantauan yang diminta oleh beberapa aplikasi di tingkat TAPI. Sebagai konsekuensinya, paling umum bagi beberapa bendera jenis media untuk diatur secara bersamaan pada tingkat ini. Penyedia layanan harus menguji untuk menentukan apakah dapat mendukung setidaknya set yang ditentukan, terlepas dari mode apa yang saat ini berlaku. TAPI memastikan bahwa parameter dwMediaModes memiliki setidaknya satu bit yang ditetapkan dan tidak ada bit yang dipesan yang diatur. Penyedia layanan bertanggung jawab untuk melakukan pemeriksaan validitas lebih lanjut pada jenis media, seperti memeriksa apakah ada jenis media yang didukung oleh penyedia layanan.
 
Fungsi TSPI_lineConditionalMediaDetection memeriksa bit yang diatur dalam anggota dwCallParamFlags dari struktur LINECALLPARAMS dan menangani kasus-kasus berikut:

Fungsi TSPI_lineConditionalMediaDetection mengembalikan keberhasilan jika meneruskan nilai bit yang sama ke fungsi TSPI_lineMakeCall juga akan mengembalikan keberhasilan.

Jika bit SECURE, ORIGOFFHOOK, dan DESTOFFHOOK diatur dan parameter dwAddressMode LINEADDRESSMODE_ADDRESSID, fungsi mengembalikan keberhasilan jika dapat berhasil pada satu atau beberapa alamat di baris.

Jika bit SECURE, ORIGOFFHOOK, dan DESTOFFHOOK diatur dan parameter dwAddressMode LINEADDRESSMODE_DIALABLEADDR, fungsi mengembalikan keberhasilan jika dapat berhasil pada alamat yang diidentifikasi oleh parameter dwOrigAddress .

Penyedia layanan mengembalikan kesalahan (misalnya, LINEERR_RESOURCEUNAVAIL) jika, pada saat fungsi ini dipanggil, tidak mungkin untuk melakukan panggilan baru pada perangkat baris yang ditentukan (jika akan mengembalikan LINEERR_CALLUNAVAIL atau LINEERR_RESOURCEUNAVAIL harus TSPI_lineMakeCall dipanggil segera setelah membuka baris).

Tidak ada fungsi yang sesuai langsung di tingkat TAPI. Prosedur ini sesuai dengan pengujian yang tersirat untuk setiap baris individu dengan prosedur lineOpen ketika dipanggil dengan pengidentifikasi perangkat LINEMAPPER.

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header tspi.h

Lihat juga

LINECALLPARAMS

Konstanta LINEMEDIAMODE_

TSPI_lineMakeCall