Bagikan melalui


Fungsi CoDisableCallCancellation (combaseapi.h)

Membatalkan tindakan panggilan ke CoEnableCallCancellation. Menonaktifkan pembatalan panggilan sinkron pada utas panggilan saat semua panggilan ke CoEnableCallCancellation diseimbangkan oleh panggilan ke CoDisableCallCancellation.

Sintaks

HRESULT CoDisableCallCancellation(
  [in, optional] LPVOID pReserved
);

Parameter

[in, optional] pReserved

Parameter ini dicadangkan dan harus NULL.

Menampilkan nilai

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

Menampilkan kode Deskripsi
S_OK
Pembatalan panggilan berhasil dinonaktifkan pada utas.
CO_E_CANCEL_DISABLED
Ada lebih banyak panggilan yang berhasil ke CoEnableCallCancellation pada utas daripada telah ada panggilan ke CoDisableCallCancellation. Pembatalan masih diaktifkan pada utas.

Keterangan

Ketika pembatalan panggilan diaktifkan pada utas, panggilan sinkron marshaled dari utas tersebut ke objek di komputer yang sama dapat mengalami penurunan performa yang serius. Secara default, panggilan sinkron tidak dapat dibatalkan, meskipun objek pembatalan tersedia. Untuk mengaktifkan pembatalan panggilan, Anda harus memanggil CoEnableCallCancellation terlebih dahulu.

Ketika pembatalan panggilan dinonaktifkan, upaya untuk mendapatkan penunjuk ke objek panggilan akan gagal. Jika utas panggilan sudah memiliki penunjuk ke objek panggilan, panggilan pada objek tersebut akan gagal.

Kecuali Anda ingin mengaktifkan pembatalan panggilan pada utas setiap saat, Anda harus memasangkan panggilan ke CoEnableCallCancellation dengan panggilan ke CoDisableCallCancellation. Pembatalan panggilan dinonaktifkan hanya jika setiap panggilan yang berhasil ke CoEnableCallCancellation diseimbangkan dengan panggilan yang berhasil ke CoDisableCallCancellation.

Panggilan akan dapat dibatalkan atau tidak tergantung pada status utas pada saat panggilan dilakukan. Selanjutnya mengaktifkan atau menonaktifkan pembatalan panggilan tidak berpengaruh pada panggilan apa pun yang tertunda pada utas.

Jika utas tidak diinisialisasi dan kemudian diinisialisasi ulang oleh panggilan ke CoUninitialize dan CoInitialize, pembatalan panggilan dinonaktifkan pada utas, bahkan jika itu diaktifkan ketika utas tidak diinisialisasi.

Persyaratan

   
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

CoEnableCallCancellation

ICancelMethodCalls