다음을 통해 공유


RpcAsyncAbortCall 함수(rpcasync.h)

서버는 RpcAsyncAbortCall 을 호출하여 비동기 호출을 중단합니다.

구문

RPC_STATUS RpcAsyncAbortCall(
  PRPC_ASYNC_STATE pAsync,
  unsigned long    ExceptionCode
);

매개 변수

pAsync

비동기 호출 정보를 포함하는 RPC_ASYNC_STATE 구조체에 대한 포인터입니다.

ExceptionCode

0이 아닌 애플리케이션별 예외 코드입니다. 애플리케이션 정의 오류 코드 또는 표준 RPC 오류 코드일 수 있습니다. 자세한 내용은 RPC 반환 값을 참조하세요.

반환 값

의미
RPC_S_OK
호출 취소에 성공했습니다.
RPC_S_INVALID_ASYNC_HANDLE
비동기 핸들이 잘못되었습니다.
 
참고 유효한 오류 코드 목록은 RPC 반환 값을 참조하세요.
 

설명

서버는 완료 전에 비동기 호출을 중단해야 하는 상황에서 RpcAsyncAbortCall 을 호출합니다. 예를 들어 호출자에게 요청을 수행하는 데 필요한 권한이 없거나 서버가 너무 바빠서 호출을 처리하지 못할 수 있습니다. ExceptionCode 매개 변수를 사용하여 중단 이유를 지정합니다. 런타임 환경은 예외 코드를 오류로 클라이언트에 전파합니다.

RpcAsyncAbortCall을 사용하여 비동기 호출을 중단하면 출력 인수의 마샬링이 수행되지 않고 모든 입력 인수가 RPC에서 해제됩니다. RpcAsyncAbortCall이 호출되면 RpcAsyncCompleteCall 함수에 대한 호출이 필요하지 않습니다. RpcAsyncAbortCall 함수는 비동기 호출에 대해 한 번만 호출해야 합니다. 두 번째 호출은 프로세스를 충돌하거나 다른 예기치 않은 방법으로 실패할 수 있습니다.

요구 사항

   
지원되는 최소 클라이언트 Windows 2000 Professional [데스크톱 앱 | UWP 앱]
지원되는 최소 서버 Windows 2000 Server [데스크톱 앱 | UWP 앱]
대상 플랫폼 Windows
헤더 rpcasync.h(Rpc.h 포함)
라이브러리 Rpcrt4.lib
DLL Rpcrt4.dll

추가 정보

비동기 RPC

RPC_ASYNC_STATE

RpcAsyncCancelCall

RpcAsyncCompleteCall

RpcAsyncGetCallHandle

RpcAsyncGetCallStatus

RpcAsyncInitializeHandle

RpcServerTestCancel