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
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