MIDL 사용
RPC를 사용하는 프로그램의 모든 인터페이스는 MIDL(Microsoft Interface Definition Language)에서 정의되고 MIDL 컴파일러로 컴파일되어야 합니다. 다음 topics MIDL 인터페이스 만들기 및 컴파일에 대한 간략한 개요를 제공합니다.
이러한 topics 대한 자세한 내용은 IDL 및 ACF 파일을 참조하세요.
MIDL을 사용하여 인터페이스 정의
MIDL 파일은 텍스트 편집기를 사용하여 만들고 편집할 수 있는 텍스트 파일입니다. 인터페이스에 대한 UUID를 생성하는 경우 일반적으로 출력을 템플릿 MIDL 파일에 저장합니다. UUID에 대한 자세한 내용은 인터페이스 UUID 생성을 참조하세요.
MIDL의 모든 인터페이스는 동일한 형식을 따릅니다. 인터페이스 특성 목록과 인터페이스 이름을 포함하는 헤더로 시작합니다. 특성은 대괄호로 묶입니다. 인터페이스 헤더 뒤에 본문이 있으며, 이 본문은 중괄호로 묶입니다. 간단한 인터페이스는 다음 예제에 나와 있습니다.
[
uuid(ba209999-0c6c-11d2-97cf-00c04f8eea45),
version(1.0)
]
interface MyInterface
{
const unsigned short INT_ARRAY_LEN = 100;
void MyRemoteProc(
[in] int param1,
[out] int outArray[INT_ARRAY_LEN]
);
}
일반적으로 MIDL 인터페이스 정의에 표시되는 특성 중 일부는 UUID 및 인터페이스 버전 번호입니다. 인터페이스 정의의 본문에는 인터페이스에 있는 모든 원격 프로시저의 프로시저 선언이 포함되어야 합니다. 또한 인터페이스에 필요한 데이터 형식 및 상수의 선언을 포함할 수도 있습니다.
원격 프로시저 선언의 모든 매개 변수는 [in], [out] 또는 [in, out]으로 선언해야 합니다. 이러한 선언은 클라이언트 프로그램이 원격 프로시저로 데이터를 전달하거나, 원격 프로시저에서 데이터를 가져오거나, 둘 다 가져오게 지정합니다. 인터페이스 매개 변수 선언에 대한 자세한 내용은 IDL 인터페이스 본문을 참조하세요.
MIDL 파일 컴파일
MIDL 컴파일러는 SDK(플랫폼 소프트웨어 개발 키트)와 함께 자동으로 설치되는 명령줄 도구입니다. 명령줄에 명령 midl, MIDL 파일 이름을 차례로 입력하여 명령 창에서 호출합니다. MIDL 컴파일러를 포함하는 디렉터리가 경로에 있는지 확인합니다. 다음 예제에서는 해당 용도를 보여 줍니다.
midl MyApp.idl
파일 이름에 .idl 확장명이 있는 경우 확장명을 포함할 필요가 없습니다. MIDL 명령과 파일 이름 사이에 삽입하여 MIDL 컴파일러 명령줄 스위치를 사용할 수도 있습니다. 이는 다음 예제에서 설명합니다.
midl /acf MyApp.acf MyApp.idl
이 예제에서는 MYApp.idl 파일을 입력 파일로 사용하여 MIDL 컴파일러를 실행합니다. 명령줄 스위치 /acf 는 컴파일러가 입력에 ACF(애플리케이션 구성 파일)를 사용하도록 지시합니다. 애플리케이션 구성 파일은 IDL 및 ACF 파일에서 자세히 설명합니다.
MIDL 컴파일러 사용에 대한 자세한 내용은 다음 topics 대한 정보가 포함된 MIDL(Microsoft Interface Definition Language)을 참조하세요.
- MIDL에 대한 C 전처리기 요구 사항
- C/C++-Compiler 고려 사항
- RPC 인터페이스에 대해 생성된 파일
- MIDL 명령줄 참조
- MIDL 언어 참조
- MIDL 컴파일러 오류 및 경고