RpcAsyncCompleteCall 함수(rpcasync.h)
클라이언트와 서버는 RpcAsyncCompleteCall 함수를 호출하여 비동기 원격 프로시저 호출을 완료합니다.
구문
RPC_STATUS RpcAsyncCompleteCall(
PRPC_ASYNC_STATE pAsync,
void *Reply
);
매개 변수
pAsync
비동기 호출 정보를 포함하는 RPC_ASYNC_STATE 구조체에 대한 포인터입니다.
Reply
원격 프로시저 호출의 반환 값을 포함하는 버퍼에 대한 포인터입니다.
반환 값
RpcAsyncCompleteCall은 다음 값 외에도 일반 RPC 또는 애플리케이션별 오류를 반환할 수 있습니다.
값 | 의미 |
---|---|
|
호출이 성공적으로 완료되었습니다. |
|
비동기 호출 핸들이 잘못되었습니다. |
|
호출이 아직 완료되지 않았습니다. |
|
호출이 취소되었습니다. |
설명
비동기 RPC 호출을 완료합니다. 클라이언트와 서버 모두 이 함수를 호출합니다.
클라이언트: 회신은 회신 을 받을 버퍼를 가리킵니다. 응답이 도착하기 전에 클라이언트가 이 함수를 호출하면 호출이 RPC_S_ASYNC_CALL_PENDING 반환됩니다. 버퍼는 유효해야 하며 반환 값을 받을 수 있을 만큼 커야 합니다. 이 호출이 성공하면 [out] 및 [in,out] 매개 변수가 유효합니다. 호출이 RPC_S_ASYNC_CALL_PENDING 반환하지 않으면 이 RpcAsyncCompleteCall 호출은 RPC 호출에 대한 최종 호출입니다. 이 함수 호출 후에는 성공 또는 실패에 관계없이 RPC 런타임에 의해 할당된 모든 리소스가 해제됩니다. RpcAsyncCompleteCall 또는 RpcAsyncCancelCall 함수에 대한 후속 호출은 RPC_ASYNC_STATE 구조체에 대한 새 호출이 시작될 때까지 정의되지 않은 결과를 갖습니다.
서버: 회신 은 클라이언트로 보내야 하는 반환 값이 포함된 버퍼를 가리킵니다. 함수가 반환 형식으로 선언된 경우에만 회신 에 유효한 버퍼를 설정하면 됩니다. RpcAsyncCompleteCall을 호출하기 전에 [out] 및 [in,out] 매개 변수를 업데이트해야 합니다. 이러한 매개 변수 및 비동기 핸들은 RpcAsyncCompleteCall 호출이 반환된 후에는 터치하면 안 됩니다. 서버에서 RpcAsyncCompleteCall 호출이 최종입니다. RpcAsyncCompleteCall 함수 호출이 실패하면 RPC 런타임에서 매개 변수를 해제합니다.
[comm_status] 및 [fault_status] 매개 변수를 포함한 모든 [out] 매개 변수는 RpcAsyncCompleteCall의 반환 값이 RPC_S_OK 경우에만 유효합니다.
요구 사항
지원되는 최소 클라이언트 | Windows 2000 Professional [데스크톱 앱 | UWP 앱] |
지원되는 최소 서버 | Windows 2000 Server [데스크톱 앱 | UWP 앱] |
대상 플랫폼 | Windows |
헤더 | rpcasync.h(Rpc.h 포함) |
라이브러리 | Rpcrt4.lib |
DLL | Rpcrt4.dll |