Bagikan melalui


Fungsi CoTestCancel (combaseapi.h)

Menentukan apakah panggilan yang dijalankan pada server telah dibatalkan oleh klien.

Sintaks

HRESULT CoTestCancel();

Mengembalikan nilai

Fungsi ini dapat mengembalikan nilai pengembalian standar E_FAIL, E_INVALIDARG, E_OUTOFMEMORY, dan E_UNEXPECTED, serta nilai berikut.

Menampilkan kode Deskripsi
RPC_S_CALLPENDING
Panggilan masih tertunda dan belum dibatalkan oleh klien.
RPC_E_CALL_CANCELED
Panggilan telah dibatalkan oleh klien.

Keterangan

Objek server harus memanggil CoTestCancel setidaknya sekali sebelum kembali mendeteksi permintaan pembatalan klien. Melakukannya dapat menyimpan pekerjaan server yang tidak perlu jika klien telah mengeluarkan permintaan pembatalan, dan dapat mengurangi waktu tunggu klien jika telah mengatur batas waktu pembatalan sebagai RPC_C_CANCEL_INFINITE_TIMEOUT. Selain itu, jika objek server mendeteksi permintaan pembatalan sebelum kembali dari panggilan yang tertunda, objek dapat membersihkan memori, antarmuka marshaled, atau menanganinya telah dibuat atau diperoleh.

CoTestCancel memanggil CoGetCallContext untuk mendapatkan antarmuka ICancelMethodCalls pada objek pembatalan saat ini dan kemudian memanggil ICancelMethodCalls::TestCancel. Objek yang mengimplementasikan marshaling kustom harus terlebih dahulu memanggil CoSwitchCallContext untuk menginstal objek konteks panggilan yang sesuai.

Fungsi ini tidak menguji pembatalan untuk panggilan asinkron.

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 combaseapi.h (termasuk Objbase.h)
Pustaka Ole32.lib
DLL Ole32.dll

Lihat juga

ICancelMethodCalls