fungsi linePark (tapi.h)

Fungsi linePark memarkir panggilan yang ditentukan sesuai dengan mode taman yang ditentukan.

Sintaks

LONG linePark(
  HCALL       hCall,
  DWORD       dwParkMode,
  LPCSTR      lpszDirAddress,
  LPVARSTRING lpNonDirAddress
);

Parameter

hCall

Tangani panggilan untuk diparkir. Aplikasi harus menjadi pemilik panggilan. Status panggilan hCall harus tersambung.

dwParkMode

Mode taman tempat panggilan akan diparkir. Parameter ini hanya dapat memiliki satu set bendera, dan menggunakan salah satu konstanta LINEPARKMODE_.

lpszDirAddress

Penunjuk ke string yang dihentikan null yang menunjukkan alamat tempat panggilan akan diparkir saat menggunakan taman yang diarahkan. Alamat dalam format nomor dapat dialihkan. Parameter ini diabaikan untuk taman yang tidak dialihkan.

lpNonDirAddress

Penunjuk ke struktur jenis VARSTRING. Untuk taman tidak dialihkan, alamat tempat panggilan diparkir dikembalikan dalam struktur ini. Parameter ini diabaikan untuk taman yang diarahkan. Dalam struktur VARSTRING , dwStringFormat harus diatur ke STRINGFORMAT_ASCII (buffer string ASCII yang berisi string yang dihentikan null), dan NULL yang mengakhiri harus diperhitungkan dalam dwStringSize. Sebelum memanggil linePark, aplikasi harus mengatur anggota dwTotalSize dari struktur ini untuk menunjukkan jumlah memori yang tersedia untuk TAPI untuk mengembalikan informasi.

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_NOTOWNER, LINEERR_INVALCALLHANDLE, LINEERR_OPERATIONUNAVAIL, LINEERR_INVALCALLSTATE, LINEERR_OPERATIONFAILED, LINEERR_INVALPARKMODE, LINEERR_RESOURCEUNAVAIL, LINEERR_INVALPOINTER, LINEERR_STRUCTURETOOSMALL, LINEERR_NOMEM, LINEERR_UNINITIALIZED.

Keterangan

Dengan taman yang diarahkan, aplikasi menentukan alamat tempatnya ingin memarkir panggilan. Dengan taman yang tidak dialihkan, sakelar menentukan alamat dan menyediakan ini ke aplikasi. Dalam kedua kasus, panggilan yang diparkir dapat dibatalkan dengan menentukan alamat ini.

Panggilan yang diparkir biasanya memasuki status menganggur setelah berhasil diparkir, dan aplikasi kemudian harus membatalkan alokasi handelnya ke panggilan. Jika aplikasi melakukan lineUnpark pada panggilan yang diparkir, handel panggilan baru dibuat untuk panggilan yang tidak diparkir meskipun aplikasi belum membatalkan alokasi handel panggilan lamanya.

Beberapa sakelar dapat mengingatkan pengguna setelah panggilan diparkir untuk waktu yang lama. Aplikasi ini melihat panggilan penawaran dengan alasan panggilan yang diatur ke pengingat.

Di taman yang tidak dialihkan, jika anggota dwTotalSize dalam struktur VARSTRING tidak menentukan jumlah memori yang cukup untuk menerima alamat taman, pesan balasan yang sesuai mengembalikan nilai kesalahan LINEERR_STRUCTURETOOSMALL. Dalam kasus seperti itu, tidak ada cara untuk mengambil alamat taman lengkap. Saat nilai kesalahan LINEERR_STRUCTURETOOSMALL dikembalikan, anggota dwNeededSize dari struktur NonDirAddress tidak berisi nilai yang valid. Jika nilai kesalahan LINEERR_STRUCTURETOOSMALL diterima dari linePark yang tidak dialihkan, maka tingkatkan ukuran buffer dan panggil linePark lagi hingga menampilkan hasil yang berhasil atau LINEERR_XXX yang berbeda.

Persyaratan

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

Lihat juga

LINE_REPLY

Gambaran Umum Taman

Fungsi Layanan Garis Tambahan

Gambaran Umum Referensi TAPI 2.2

VARSTRING

lineUnpark