Delen via


Annulering van gesprek

De annuleringsmelding voor oproepen annuleert de werking van servicebewerkingen aan de serverzijde en callbacks van servicemodellen. Een dergelijke annulering kan een van de volgende twee redenen hebben:

  • De servicehost is gestopt vanwege een aanroep naar de WsAbortServiceHost functie.
  • Het onderliggende kanaal heeft een fout gegenereerd.

Als u een annuleringsmelding wilt ontvangen, moet de servicebewerking of callback van het servicemodel een WS_OPERATION_CANCEL_CALLBACK callback registreren door de WsRegisterOperationForCancel- functie aan te roepen.

Als onderdeel van de registratie voor annuleringsmeldingen kan de servicebewerking of callback van het servicemodel ook toepassingsspecifieke statusgegevens en de WS_OPERATION_FREE_STATE_CALLBACK callback registreren.

De statusgegevens worden beschikbaar gesteld aan de WS_OPERATION_CANCEL_CALLBACK callback. Bij het voltooien van de oproep wordt de WS_OPERATION_FREE_STATE_CALLBACK callback aangeroepen om de toepassing de mogelijkheid te geven om de statusgegevens vrij te maken.

Zie BlockingServiceExamplevoor een codevoorbeeld.

De annuleringsaanroep wordt slechts één keer aangeroepen voor de levensduur van de servicebewerkingen aan de serverzijde of callback-functie.

Oproepannulering is beschikbaar voor alle callbacks van de servicehost die WS_OPERATION_CONTEXT als parameter nemen.

De volgende API-elementen hebben betrekking op annulering van aanroepen.

Callback Beschrijving
WS_OPERATION_CANCEL_CALLBACK Aangeroepen door servicemodel om een annulering van een asynchrone servicebewerking te melden als gevolg van een afgebroken afsluiting van de servicehost.
WS_OPERATION_FREE_STATE_CALLBACK Aangeroepen door servicemodel, zodat een toepassing statusgegevens kan opschonen die zijn geregistreerd bij de annuleringsaanroep.

 

Functie Beschrijving
WsRegisterOperationForCancel- Hiermee kan een servicebewerking of servicemodelaanroep worden geregistreerd voor een annuleringsmelding.