다음을 통해 공유


파일 및 형식 라이브러리 가져오기

MIDL 키워드 에는 기존 헤더, IDL ODL(개체 정의 언어) 파일 및 컴파일된 형식 라이브러리를 참조하여 코드를 다시 사용할 수 있습니다.

ACF include 지시문을 사용하면 MIDL 생성 스텁 코드에 포함할 하나 이상의 C 언어 헤더 파일을 ACF 파일에 지정할 수 있습니다. 생성된 파일에는 표시된 헤더 파일이 있는 #include C 전처리기 지시문이 있는 줄이 있습니다. 이 include 지시문을 사용하여 특정 운영 환경에 특정하고 클라이언트와 서버 간의 인터페이스에 필요한 정보가 포함되지 않은 헤더 파일을 가져옵니다. IDL 파일에 사용할 데이터 형식이 포함된 헤더 파일에 는 include 를 사용하지 마세요. 대신 import 지시문을 사용합니다.

예 1

[
  auto_handle
] 
interface X86PC
{ 
  include "gendefs.h", "protos.h", "myfile.h"; 
  //interface typdefs and function declarations here
}

IDL 가져오기 지시문은 다른 IDL(또는 ODL) 파일 및 헤더 파일의 형식 및 인터페이스 정의를 IDL 파일로 가져오는 표준 방법입니다. 가져온 파일의 모든 IDL 문(예: typedef, const 선언 및 인터페이스 정의)을 가져오는 IDL 파일에 사용할 수 있습니다.

C 언어 전처리기 지시문 #include 마찬가지로 가져오기 지시문은 가져온 IDL 파일에 정의된 데이터 형식을 포함하도록 컴파일러에 지시합니다. #include 지시문과 달리 import 지시문은 프로시저 프로토타입을 무시합니다. 가져온 파일의 모든 항목에 대해 스텁이 생성되지 않으므로 프로시저 프로토타입은 무시됩니다. 가져온 파일에 대해 전처리기가 별도로 호출되므로 전처리기 지시문(예: **)은 가져오는 IDL 파일로 전달되지 않습니다.

가져오기를 사용하여 IDL 파일에 시스템 헤더 파일을 포함하는 방법에 대한 자세한 내용은 시스템 헤더 파일 가져오기를 참조하세요.

예제 2

[
  uuid(. . .), object
] 
interface IKnown : IUnknown
{
  import "base.idl", "unknwn.idl", "helper.idl";
  //remainder of interface definition
}

ODL importlib 지시문을 사용하면 IDL 또는 ODL 파일에서 컴파일된 형식 라이브러리를 참조할 수 있습니다. importlib 지시문은 라이브러리 문 내에 있어야 하며 라이브러리의 다른 형식 설명 앞에 와야 합니다. 가져온 라이브러리와 생성된 라이브러리는 런타임에 애플리케이션에서 사용할 수 있어야 합니다.

예제 3

library NewBrowser
{
  importlib("stdole32.tlb");
  importlib("legacy.tlb");
  //remainder of library definition
};

또한 C 전처리기 #include 지시문을 사용하여 IDL 또는 ODL 파일에 헤더 및 기타 파일을 포함할 수도 있습니다. 그러나 이 지시문에는 지정된 파일의 전체 내용이 문자 그대로 포함됩니다. 헤더 파일에 MIDL 생성 스텁 파일에 필요하지 않거나 원하지 않는 프로토타입이 포함되어 있거나 수정할 수 없는 형식 정의가 포함된 경우 #include 지시문 대신 MIDL 가져오기 지시문을 사용해야 합니다.

가져오기

importlib

포함

시스템 헤더 파일 가져오기