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.

Catatan Pengidentifikasi terminal ini tidak memiliki hubungan dengan pengidentifikasi perangkat lain dan ditentukan oleh penyedia layanan melalui kemampuan perangkat. TAPI tidak memvalidasi parameter ini ketika fungsi ini dipanggil.
 

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

ASYNC_COMPLETION

Konstanta LINECALLSELECT_

Konstanta LINETERMMODE_