다음을 통해 공유


인터페이스 개발

RPC 인터페이스는 서버 프로그램이 구현하는 원격 함수를 설명합니다. 인터페이스는 클라이언트가 서버에서 제공하는 원격 프로시저를 호출할 때 클라이언트와 서버가 동일한 규칙을 사용하여 통신하도록 합니다. 인터페이스는 인터페이스 이름, 일부 특성, 선택적 형식 또는 상수 정의 및 프로시저 선언 집합으로 구성됩니다. 각 프로시저 선언에는 프로시저 이름, 반환 형식 및 매개 변수 목록이 포함되어야 합니다.

인터페이스는 MIDL(Microsoft Interface Definition Language)로 정의됩니다. C 또는 C++에 익숙한 경우 MIDL 인터페이스 정의는 매우 간단해 보입니다. MIDL은 여러 가지 면에서 C 및 C++와 유사합니다.

RPC 애플리케이션을 개발할 때 텍스트 편집기를 사용하여 인터페이스를 정의하고 .idl 확장자를 사용하여 텍스트 파일에 저장합니다. 자세한 내용은 IDL 및 ACF 파일을 참조하세요. MIDL 컴파일러는 프로그램이 클라이언트 및 서버 원본 파일에 포함하는 헤더 파일을 생성합니다. MIDL 컴파일러는 두 개의 C 소스 파일도 생성합니다. 이러한 프로그램 중 하나를 컴파일하고 클라이언트 프로그램에 연결하고 다른 하나는 서버 프로그램에 연결합니다. 이러한 두 C 원본 파일은 클라이언트 및 서버 스텁입니다. 클라이언트 및 서버 스텁에 대한 개요는 RPC 작동 방식을 참조하세요. MIDL 컴파일러에 대한 개요는 MIDL 파일 컴파일을 참조하세요.

기본적으로 클라이언트와 서버 스텁의 이름은 같으므로 클라이언트가 서버 스텁과 연결되거나 그 반대의 경우도 마찬가지입니다. MIDL /prefix 옵션을 사용하면 이 일반적인 오류가 발생하지 않습니다.

다음 그림에서는 인터페이스를 만드는 프로세스를 보여 줍니다.

/prefix 옵션을 사용하여 클라이언트 및 서버 스텁을 만들면 실수로 컴파일 문제가 발생하지 않습니다.

MIDL 컴파일러에 대한 입력을 위해 ACF(애플리케이션 구성 파일)도 지정해야 할 수 있습니다. 애플리케이션 구성 파일에 대한 자세한 내용은 IDL 및 ACF 파일을 참조하세요.

MIDL 컴파일러 외에도 일반적으로 Uuidgen 유틸리티를 사용하여 유니버설 고유 식별자(UUID, GUID라는 용어와 교환 가능)를 생성해야 합니다. 이 섹션에서는 다음 topics 나누어 이러한 두 도구에 대한 정보를 제공합니다.