통화 취소

호출 취소 알림은 서버 쪽 서비스 작업 및 서비스 모델 콜백 작업을 취소합니다. 이러한 취소는 다음 두 가지 이유 중 하나일 수 있습니다.

  • WsAbortServiceHost 함수 호출로 인해 서비스 호스트가 작업을 중지했습니다.
  • 기본 채널에서 오류가 발생했습니다.

취소 알림을 받으려면 서비스 작업 또는 서비스 모델 콜백이 WsRegisterOperationForCancel 함수를 호출하여 WS_OPERATION_CANCEL_CALLBACK 콜백을 등록해야 합니다.

필요에 따라 취소 알림 등록의 일부로 서비스 작업 또는 서비스 모델 콜백은 애플리케이션별 상태 데이터 및 WS_OPERATION_FREE_STATE_CALLBACK 콜백을 등록할 수도 있습니다.

상태 데이터는 WS_OPERATION_CANCEL_CALLBACK 콜백에 사용할 수 있습니다. 호출이 완료되면 애플리케이션에 상태 데이터를 해제할 수 있는 기회를 제공하기 위해 WS_OPERATION_FREE_STATE_CALLBACK 콜백이 호출됩니다.

코드 예제는 BlockingServiceExample을 참조하세요.

취소 콜백은 서버 쪽 서비스 작업 또는 콜백 함수의 수명 동안 한 번만 호출됩니다.

호출 취소는 WS_OPERATION_CONTEXT 매개 변수로 사용하는 모든 서비스 호스트 콜백에서 사용할 수 있습니다.

다음 API 요소는 호출 취소와 관련이 있습니다.

콜백 설명
WS_OPERATION_CANCEL_CALLBACK 서비스 호스트의 종료가 중단된 결과로 비동기 서비스 작업의 취소를 알리기 위해 서비스 모델에서 호출됩니다.
WS_OPERATION_FREE_STATE_CALLBACK 애플리케이션이 취소 콜백에 등록된 상태 데이터를 정리할 수 있도록 서비스 모델에서 호출합니다.

 

기능 설명
WsRegisterOperationForCancel 서비스 작업 또는 서비스 모델 콜백이 취소 알림을 등록할 수 있도록 허용합니다.