이식성 매크로
RPC 도구는 생성된 스텁 파일 및 헤더 파일의 데이터 형식 및 함수 반환 형식을 각 플랫폼에 특정한 정의와 연결하여 모델, 호출 및 명명 규칙 독립성을 달성합니다. 이러한 매크로 정의는 __far 지정해야 하는 모든 데이터 형식 및 함수가 원거리 개체로 지정되도록 합니다.
다음 그림에서는 MIDL 컴파일러가 RPC 구성 요소 간의 함수 호출에 적용되는 매크로 정의를 보여 줍니다.
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[데스크톱 앱만] |
헤더 |
|