Metode IMessageFilter::RetryRejectedCall (objidl.h)
Memberi aplikasi kesempatan untuk menampilkan kotak dialog yang menawarkan opsi coba lagi, batalkan, atau pengalihan tugas.
Sintaks
DWORD RetryRejectedCall(
[in] HTASK htaskCallee,
[in] DWORD dwTickCount,
[in] DWORD dwRejectType
);
Parameter
[in] htaskCallee
Id utas dari aplikasi yang disebut.
[in] dwTickCount
Jumlah tanda centang yang berlalu sejak panggilan dilakukan.
[in] dwRejectType
Menentukan SERVERCALL_REJECTED atau SERVERCALL_RETRYLATER, seperti yang dikembalikan oleh aplikasi objek.
Menampilkan nilai
Metode ini dapat mengembalikan nilai berikut.
Mengembalikan nilai | Deskripsi |
---|---|
|
Panggilan harus dibatalkan. COM kemudian mengembalikan RPC_E_CALL_REJECTED dari panggilan metode asli. |
|
Panggilan akan segera dicoba kembali. |
|
COM akan menunggu sekian milidetik ini dan kemudian mencoba kembali panggilan. |
Keterangan
COM memanggil RetryRejectedCall pada antarmuka IMessageFilter penelepon segera setelah menerima SERVERCALL_RETRYLATER atau SERVERCALL_REJECTED dari metode IMessageFilter::HandleInComingCall pada antarmuka IMessageFilter callee.
Jika tugas yang dipanggil menolak panggilan, aplikasi mungkin dalam keadaan di mana ia tidak dapat menangani panggilan tersebut, mungkin hanya untuk sementara. Ketika ini terjadi, COM kembali ke pemanggil dan mengeluarkan RetryRejectedCall untuk menentukan apakah com harus mencoba kembali panggilan yang ditolak.
Aplikasi harus secara diam-diam mencoba kembali panggilan yang telah kembali dengan SERVERCALL_RETRYLATER. Jika, setelah waktu yang wajar berlalu, katakanlah sekitar 30 detik, aplikasi harus menampilkan kotak dialog yang sibuk; implementasi standar kotak dialog ini tersedia di pustaka OLEDLG. Penerima panggilan mungkin sesaat berada dalam status di mana panggilan dapat ditangani. Opsi untuk menunggu dan mencoba kembali disediakan untuk jenis aplikasi panggilan khusus, seperti tugas latar belakang yang menjalankan makro atau skrip, sehingga mereka dapat mencoba kembali panggilan dengan cara yang tidak mengganggu.
Jika, setelah kotak dialog ditampilkan, pengguna memilih untuk membatalkan, RetryRejectedCall mengembalikan -1 dan panggilan akan tampak gagal dengan RPC_E_CALL_REJECTED.
Jika klien menerapkan IMessageFilter dan memanggil metode server pada komputer jarak jauh, RetryRejectedCall tidak akan dipanggil.
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 |