Pembatalan panggilan

Pemberitahuan pembatalan panggilan membatalkan pengoperasian operasi layanan sisi server dan panggilan balik model layanan. Pembatalan tersebut bisa karena salah satu dari dua alasan:

  • Host layanan telah menghentikan operasi karena panggilan ke fungsi WsAbortServiceHost .
  • Saluran yang mendasar telah menimbulkan kesalahan.

Untuk menerima pemberitahuan pembatalan, operasi layanan atau panggilan balik model layanan harus mendaftarkan panggilan balik WS_OPERATION_CANCEL_CALLBACK dengan memanggil fungsi WsRegisterOperationForCancel .

Secara opsional, sebagai bagian dari pendaftaran pemberitahuan pembatalan, operasi layanan atau panggilan balik model layanan juga dapat mendaftarkan data status khusus aplikasi dan panggilan balik WS_OPERATION_FREE_STATE_CALLBACK .

Data status tersedia untuk panggilan balik WS_OPERATION_CANCEL_CALLBACK . Setelah penyelesaian panggilan, panggilan balik WS_OPERATION_FREE_STATE_CALLBACK dipanggil untuk memberi aplikasi kesempatan untuk membebaskan data status.

Untuk contoh kode, lihat BlockingServiceExample.

Panggilan balik pembatalan hanya dipanggil sekali selama masa pakai operasi layanan sisi server atau fungsi panggilan balik.

Pembatalan panggilan tersedia untuk semua panggilan balik host layanan yang mengambil WS_OPERATION_CONTEXT sebagai parameter.

Elemen API berikut berkaitan dengan pembatalan panggilan.

Callback Deskripsi
WS_OPERATION_CANCEL_CALLBACK Dipanggil oleh model layanan untuk memberi tahu pembatalan operasi layanan asinkron sebagai akibat dari penonaktifan host layanan yang dibatalkan.
WS_OPERATION_FREE_STATE_CALLBACK Dipanggil oleh model layanan untuk memungkinkan aplikasi membersihkan data status yang terdaftar dengan panggilan balik pembatalan.

 

Fungsi Deskripsi
WsRegisterOperationForCancel Memungkinkan operasi layanan atau panggilan balik model layanan untuk mendaftar pemberitahuan pembatalan.