Bagikan melalui


fungsi linePickup (tapi.h)

Fungsi linePickup mengambil pemberitahuan panggilan di alamat tujuan yang ditentukan dan mengembalikan handel panggilan untuk panggilan yang diambil. Jika dipanggil dengan NULL untuk parameter lpszDestAddress , pengambilan grup dilakukan. Jika diperlukan oleh perangkat, lpszGroupID menentukan pengidentifikasi grup tempat stasiun pemberitahuan berada.

Sintaks

LONG linePickup(
  HLINE   hLine,
  DWORD   dwAddressID,
  LPHCALL lphCall,
  LPCSTR  lpszDestAddress,
  LPCSTR  lpszGroupID
);

Parameter

hLine

Tangani ke perangkat jalur terbuka tempat panggilan akan diambil.

dwAddressID

Alamat di hLine tempat pengambilan akan berasal. Pengidentifikasi alamat secara permanen dikaitkan dengan alamat; pengidentifikasi tetap konstan di seluruh peningkatan sistem operasi.

lphCall

Penunjuk ke lokasi memori tempat handel ke panggilan pengambilan dikembalikan. Aplikasi ini adalah pemilik satu-satunya panggilan.

lpszDestAddress

Penunjuk ke buffer karakter yang dihentikan null yang berisi alamat yang panggilannya akan diambil. Alamat dalam format alamat yang dapat dialihkan standar.

lpszGroupID

Penunjuk ke buffer karakter yang dihentikan null yang berisi pengidentifikasi grup tempat stasiun pemberitahuan berada. Parameter ini diperlukan pada beberapa sakelar untuk mengambil panggilan di luar grup penjemputan saat ini.

Parameter lpszGroupID dapat ditentukan dengan sendirinya dengan pointer NULL untuk lpszDestAddress. Atau, lpszGroupID dapat ditentukan selain lpszDestAddress, jika diperlukan oleh perangkat.

Mengembalikan nilai

Mengembalikan pengidentifikasi permintaan positif jika fungsi selesai secara asinkron, atau nomor kesalahan negatif jika terjadi kesalahan. Parameter dwParam2 dari pesan LINE_REPLY yang sesuai adalah nol jika fungsi berhasil atau merupakan nomor kesalahan negatif jika terjadi kesalahan. Nilai yang mungkin dikembalikan adalah:

LINEERR_INVALADDRESS, LINEERR_NOMEM, LINEERR_INVALADDRESSID, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALGROUPID, LINEERR_OPERATIONFAILED, LINEERR_INVALLINEHANDLE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_UNINITIALIZED.

Keterangan

Ketika panggilan berhasil diambil, aplikasi akan diberi tahu oleh pesan LINE_CALLSTATE tentang perubahan status panggilan. Struktur LINECALLINFO menyediakan informasi tentang panggilan yang diambil. Ini mencantumkan alasan panggilan sebagai pengambilan. Struktur ini tersedia menggunakan lineGetCallInfo.

Jika LINEADDRCAPFLAGS_PICKUPCALLWAIT TRUE, linePickup dapat digunakan untuk mengambil panggilan di mana pengguna telah mendeteksi sinyal tunggu panggilan tetapi penyedia tidak dapat melakukan deteksi. Ini memberi pengguna mekanisme untuk "menjawab" panggilan tunggu meskipun penyedia layanan tidak dapat mendeteksi sinyal menunggu panggilan. Parameter penunjuk lpszDestAddress dan lpszGroupID harus NULL untuk mengambil panggilan tunggu panggilan. Fungsi linePickup membuat handel panggilan baru untuk panggilan tunggu dan meneruskan handel tersebut kepada pengguna. Parameter dwAddressID paling sering nol (terutama dalam kasus perumahan satu baris).

Setelah linePickup digunakan untuk mengambil panggilan kedua, lineSwapHold dapat digunakan untuk beralih di antara mereka. Fungsi lineDrop dapat digunakan untuk menjatuhkan satu (dan beralih ke yang lain), dan sebagainya. Jika pengguna ingin menghilangkan panggilan saat ini dan mengambil panggilan kedua, mereka harus memanggil lineDrop ketika mereka mendapatkan bip tunggu panggilan, tunggu panggilan kedua berdering, lalu panggil lineAnswer pada handel panggilan baru. Bendera LINEADDRFEATURE_PICKUP di anggota dwAddressFeatures di LINEADDRESSSTATUS menunjukkan kapan pengambilan sebenarnya dimungkinkan.

Persyaratan

Persyaratan Nilai
Target Platform Windows
Header tapi.h
Pustaka Tapi32.lib
DLL Tapi32.dll

Lihat juga

LINEADDRESSSTATUS

LINECALLINFO

LINE_CALLSTATE

LINE_REPLY

Gambaran umum pengambilan

Fungsi Layanan Garis Tambahan

Gambaran Umum Referensi TAPI 2.2

lineAnswer

lineDrop

lineGetCallInfo

lineSwapHold