다음을 통해 공유


RpcAsyncInitializeHandle 함수(rpcasync.h)

클라이언트는 RpcAsyncInitializeHandle 함수를 호출하여 비동기 호출에 사용할 RPC_ASYNC_STATE 구조를 초기화합니다.

구문

RPC_STATUS RpcAsyncInitializeHandle(
  PRPC_ASYNC_STATE pAsync,
  unsigned int     Size
);

매개 변수

pAsync

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

Size

RPC_ASYNC_STATE 구조체의 크기입니다.

반환 값

의미
RPC_S_OK
호출이 성공했습니다.
RPC_S_INVALID_ARG
크기가 너무 작거나 너무 큽니다.
RPC_S_INVALID_ASYNC_HANDLE
pAsync 는 잘못된 메모리를 가리킵니다.
 
참고 유효한 오류 코드 목록은 RPC 반환 값을 참조하세요.
 

설명

클라이언트는 새 RPC_ASYNC_STATE 구조체와 해당 구조체에 대한 포인터를 만들고 포인터를 입력 매개 변수로 사용하여 RpcAsyncInitializeHandle 을 호출합니다. RpcAsyncInitializeHandle 함수는 비동기 원격 호출의 상태를 유지하는 데 사용하는 필드를 초기화합니다. RpcAsyncInitializeHandle 호출이 성공적으로 반환되면 클라이언트는 알림 유형 및 해당 알림 유형과 관련된 모든 필드를 RPC_ASYNC_STATE 구조에서 설정할 수 있습니다. 클라이언트 애플리케이션은 이 구조체에 대한 포인터를 사용하여 비동기 호출을 수행합니다.

클라이언트는 RPC_ASYNC_STATE 구조체의 Size, Signature, LockStubInfo 멤버를 변경하려고 시도해서는 안 됩니다. 이렇게 하면 핸들이 무효화됩니다.

참고 Windows 2000에서 비동기 호출이 완료되면 다른 비동기 호출에 사용되기 전에 RPC_ASYNC_STATE 구조를 다시 초기화해야 합니다. Windows XP 이상에서는 완료된 비동기 호출 이후에 RPC_ASYNC_STATE 구조체를 즉시 다시 사용할 수 있습니다.
 

요구 사항

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

추가 정보

비동기 RPC

RPC_ASYNC_STATE

RpcAsyncAbortCall

RpcAsyncCancelCall

RpcAsyncCompleteCall

RpcAsyncGetCallHandle

RpcAsyncGetCallStatus

RpcServerTestCancel