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 |
---|---|
|
Panggilan masih tertunda dan belum dibatalkan oleh klien. |
|
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 |