다음을 통해 공유


이식성 매크로

RPC 도구는 생성된 스텁 파일 및 헤더 파일의 데이터 형식 및 함수 반환 형식을 각 플랫폼에 특정한 정의와 연결하여 모델, 호출 및 명명 규칙 독립성을 달성합니다. 이러한 매크로 정의는 __far 지정해야 하는 모든 데이터 형식 및 함수가 원거리 개체로 지정되도록 합니다.

다음 그림에서는 MIDL 컴파일러가 RPC 구성 요소 간의 함수 호출에 적용되는 매크로 정의를 보여 줍니다.

MIDL이 함수 호출에 적용되는 매크로 정의를 보여 주는 다이어그램

RPC 매크로는 다음과 같이 정의됩니다.

정의 Description
__RPC_API 사용자 애플리케이션에 대한 스텁의 호출에 적용됩니다. 두 함수는 동일한 실행 프로그램에 있습니다.
__RPC_FAR 포인터에 대한 표준 매크로 정의에 적용됩니다. 이 매크로 정의는 사용자가 제공한 모든 함수의 서명의 일부로 표시되어야 합니다.
__RPC_STUB 런타임 라이브러리에서 스텁으로의 호출에 적용됩니다. 이러한 호출은 비공개로 간주될 수 있습니다.
__RPC_USER 사용자 애플리케이션에 대한 런타임 라이브러리의 호출에 적용됩니다. DLL과 애플리케이션 간의 경계를 넘습니다.
RPC_ENTRY 런타임 라이브러리에 대한 애플리케이션 또는 스텁의 호출에 적용됩니다. 이 매크로 정의는 모든 RPC 런타임 함수에 적용됩니다.

Microsoft RPC 런타임 라이브러리, 스텁 및 지원 루틴과 올바르게 연결하려면 일부 사용자 제공 함수도 함수 정의에 이러한 매크로를 포함해야 합니다. 메모리 관리, 사용자 정의 바인딩 핸들 및 transmit_as특성과 연결된 함수를 정의하고 컨텍스트 핸들과 연결된 컨텍스트 런다운 루틴을 정의할 때 매크로 __RPC_USER 사용할 때 매크로 __RPC_API 사용합니다. 함수를 다음과 같이 지정합니다.

__RPC_USER midl_user_allocate(...)

__RPC_USER midl_user_free(...)

__RPC_USER handletype_bind(...)

__RPC_USER handletype_unbind(...)

__RPC_USER 형식입니다_to_local

__RPC_USER 형식입니다_from_local

__RPC_USER type_to_xmit(...)

__RPC_USER 형식_from_xmit(...)

__RPC_USER 형식입니다_free_local

__RPC_USER 형식_free_inst(...)

__RPC_USER 형식_free_xmit(...)

__RPC_USER context_rundown(...)

참고

이러한 함수의 모든 포인터 매개 변수는 매크로 __RPC_FAR 사용하여 지정해야 합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트
Windows 2000 Professional[데스크톱 앱만]
지원되는 최소 서버
Windows 2000 Server[데스크톱 앱만]
헤더
Rpc.h