fungsi TSPI_lineSetTerminal (tspi.h)
Fungsi TSPI_lineSetTerminal memungkinkan TAPI untuk menentukan informasi terminal mana yang terkait dengan baris, alamat, atau panggilan yang ditentukan akan dirutekan. Operasi ini dapat digunakan saat panggilan sedang berlangsung di jalur, untuk memungkinkan peristiwa dirutekan ke perangkat yang berbeda sesuai kebutuhan.
Sintaks
LONG TSPIAPI TSPI_lineSetTerminal(
DRV_REQUESTID dwRequestID,
HDRVLINE hdLine,
DWORD dwAddressID,
HDRVCALL hdCall,
DWORD dwSelect,
DWORD dwTerminalModes,
DWORD dwTerminalID,
DWORD bEnable
);
Parameter
dwRequestID
Pengidentifikasi permintaan asinkron.
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
Pegangan ke panggilan. Status panggilan dapat menjadi status apa pun (jika dwSelect LINECALLSELECT_CALL).
dwSelect
Menentukan apakah pengaturan terminal diminta untuk baris, alamat, atau hanya panggilan yang ditentukan. Jika baris atau alamat ditentukan, peristiwa berlaku untuk baris atau alamat itu sendiri atau berfungsi sebagai pengaturan awal default untuk semua panggilan baru di baris atau alamat. Parameter ini menggunakan salah satu konstanta LINECALLSELECT_.
dwTerminalModes
Kelas peristiwa tingkat rendah yang akan dirutekan ke terminal tertentu. Gunakan salah satu konstanta LINETERMMODE_ untuk parameter ini.
dwTerminalID
Pengidentifikasi perangkat perangkat terminal tempat peristiwa yang diberikan akan dirutekan. Pengidentifikasi terminal adalah bilangan bulat kecil dalam kisaran 0 hingga dwNumTerminals minus satu, di mana dwNumTerminals dan mode terminal yang mampu ditangani setiap terminal ditunjukkan oleh penyedia layanan di LINEDEVCAPS.
bEnable
Jika TRUE, dwTerminalID valid dan kelas peristiwa yang ditentukan dirutekan ke atau dari terminal tersebut. Jika FALSE, peristiwa ini tidak dirutekan ke atau dari dwTerminalID. TAPI tidak memvalidasi parameter ini ketika fungsi ini dipanggil.
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_INVALTERMINALID, LINEERR_INVALADDRESSID, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALCALLHANDLE, LINEERR_NOMEM, LINEERR_INVALCALLSELECT, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALTERMINALMODE, LINEERR_OPERATIONFAILED.
Keterangan
Penyedia layanan mengembalikan LINEERR_RESOURCEUNAVAIL jika operasi tidak dapat diselesaikan karena overcommitment sumber daya atau jika terlalu banyak terminal yang ditetapkan, baik karena keterbatasan perangkat keras atau ke keterbatasan penyedia layanan/driver perangkat.
TAPI dapat menggunakan operasi ini untuk merutekan kelas tertentu dari peristiwa garis rendah ke perangkat terminal yang ditentukan, atau untuk menekan perutean peristiwa ini sama sekali. Misalnya, suara dapat dirutekan ke perangkat I/O audio terpisah (headset), lampu, dan peristiwa tampilan dapat dirutekan ke perangkat telepon lokal, dan peristiwa tombol dan peristiwa dering dapat ditekan sama sekali.
Nada kemajuan panggilan dan/atau pesan dirutekan ke tempat yang sama dengan media. Misalnya, jika sinyal audio masuk ke telepon, maka begitu juga sinyal sibuk (analog) atau pesan Q.931 yang menunjukkan sibuk (digital).
Penyedia layanan harus menentukan apakah kombinasi dwSelect dan dwTerminalModes legal.
Operasi ini dapat dipanggil kapan saja, bahkan ketika panggilan aktif pada perangkat baris yang diberikan. Ini, misalnya, memungkinkan pengguna untuk beralih dari menggunakan telepon lokal yang diatur ke perangkat I/O audio lain.
Fungsi ini dapat dipanggil beberapa kali untuk merutekan peristiwa yang sama ke beberapa terminal secara bersamaan. Untuk mengalihkan peristiwa ke terminal yang berbeda, TAPI merekomendasikan agar aplikasi terlebih dahulu menonaktifkan perutean ke terminal yang ada dan merutekan peristiwa berikutnya ke terminal baru. Namun, penyedia layanan harus berusaha sebaik mungkin untuk mengakomodasi permintaan aplikasi dalam urutan apa pun.
Penugasan pengidentifikasi terminal dibuat oleh penyedia layanan, dan LINEDEVCAPS menunjukkan pengidentifikasi terminal mana yang tersedia oleh penyedia layanan. Penyedia layanan yang tidak mendukung jenis perutean peristiwa ini menunjukkan bahwa mereka tidak memiliki perangkat terminal (dwNumTerminals di LINEDEVCAPS diatur ke nol).
LineSetTerminal pada baris atau alamat memengaruhi semua panggilan yang ada pada baris atau alamat tersebut, tetapi tidak memengaruhi panggilan pada alamat lain. Ini juga mengatur default untuk panggilan di masa mendatang pada baris atau alamat tersebut. Baris atau alamat yang memiliki beberapa panggilan tersambung aktif kapan saja dapat memiliki perutean yang berbeda yang berlaku untuk setiap panggilan.
Menonaktifkan perutean peristiwa tingkat rendah ke terminal ketika peristiwa ini saat ini tidak dirutekan ke atau dari terminal tersebut tidak diperlukan untuk menghasilkan kesalahan selama setelah fungsi berhasil, peristiwa yang ditentukan tidak dirutekan ke atau dari terminal 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