Metode IMessageFilter::HandleInComingCall (objidl.h)
Menyediakan satu titik masuk untuk panggilan masuk.
Metode ini dipanggil sebelum setiap pemanggilan metode yang berasal dari luar proses saat ini dan menyediakan kemampuan untuk memfilter atau menolak panggilan masuk (atau panggilan balik) ke objek atau proses.
Sintaks
DWORD HandleInComingCall(
[in] DWORD dwCallType,
[in] HTASK htaskCaller,
[in] DWORD dwTickCount,
[in] LPINTERFACEINFO lpInterfaceInfo
);
Parameter
[in] dwCallType
Jenis panggilan masuk yang telah diterima. Nilai yang mungkin berasal dari enumerasi CALLTYPE.
[in] htaskCaller
Id utas pemanggil.
[in] dwTickCount
Jumlah centang yang berlalu sejak panggilan keluar dilakukan, jika dwCallType tidak CALLTYPE_TOPLEVEL. Jika dwCallType CALLTYPE_TOPLEVEL, dwTickCount harus diabaikan.
[in] lpInterfaceInfo
Penunjuk ke struktur INTERFACEINFO yang mengidentifikasi objek, antarmuka, dan metode yang dipanggil. Dalam kasus panggilan DDE, lpInterfaceInfo bisa NULL karena lapisan DDE tidak mengembalikan informasi antarmuka.
Nilai kembali
Metode ini dapat mengembalikan nilai berikut.
Menampilkan kode | Deskripsi |
---|---|
|
Aplikasi mungkin dapat memproses panggilan. |
|
Aplikasi tidak dapat menangani panggilan karena masalah yang tidak terduga, seperti tidak tersedianya jaringan, atau jika sedang dalam proses penghentian. |
|
Aplikasi tidak dapat menangani panggilan saat ini. Aplikasi mungkin mengembalikan nilai ini ketika berada dalam status modal yang dikontrol pengguna. |
Keterangan
Jika diimplementasikan, HandleInComingCall dipanggil oleh COM saat pesan COM masuk diterima.
Tergantung pada status aplikasi saat ini, panggilan diterima dan diproses atau ditolak (secara permanen atau sementara). Jika SERVERCALL_ISHANDLED dikembalikan, aplikasi mungkin dapat memproses panggilan, meskipun keberhasilan tergantung pada antarmuka yang panggilannya ditujukan. Jika panggilan tidak dapat diproses, COM mengembalikan RPC_E_CALL_REJECTED.
Panggilan yang disinkronkan input dan asinkron dikirim meskipun aplikasi mengembalikan SERVERCALL_REJECTED atau SERVERCALL_RETRYLATER.
HandleInComingCall tidak boleh digunakan untuk menunda pembaruan pada objek selama operasi seperti pencetakan pita. Untuk tujuan tersebut, gunakan IViewObject::Freeze.
Anda juga dapat menggunakan HandleInComingCall untuk menyiapkan status aplikasi sehingga panggilan dapat diproses di masa mendatang.
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows 2000 Professional [hanya aplikasi desktop] |
Server minimum yang didukung | Windows 2000 Server [hanya aplikasi desktop] |
Target Platform | Windows |
Header | objidl.h |