다음을 통해 공유


COM 인터페이스 정의

Microsoft는 많은 COM 인터페이스를 정의합니다. 대부분의 경우 이러한 제네릭 인터페이스를 다시 사용할 수 있습니다. 그러나 일부 애플리케이션에는 고유한 개체 인터페이스를 정의하는 것이 바람직하거나 필요한 특정 요구 사항이 있습니다.

모든 COM 인터페이스는 IUnknown 인터페이스에서 직접 또는 간접적으로 파생되어야 합니다. 해당 제약 조건 내에서 사용자 지정 인터페이스는 비동기 메서드를 포함하여 거의 모든 메서드 또는 매개 변수를 지원할 수 있습니다. 클라이언트가 런타임에 개체의 메서드에 대한 정보에 액세스할 수 있도록 사용자 지정 인터페이스에 대한 형식 라이브러리를 생성할 수도 있습니다. 인터페이스를 정의하고 MIDL(Microsoft Interface Definition Language)에서 설명한 후 컴파일하고 등록한 후에는 제네릭 인터페이스와 마찬가지로 사용합니다. 분산 COM을 사용하면 원격 프로세스와 동일한 컴퓨터의 다른 프로세스 모두에 인터페이스 메서드를 사용할 수 있습니다.

마지막으로 COM 인터페이스를 빌드하려면 C/C++ 컴파일러와 Midl.exe 컴파일러를 포함하는 개발 환경이 필요합니다.

COM 인터페이스를 만드는 단계는 다음과 같습니다.

  • 인터페이스에 대한 마샬링 지원을 제공할 방법을 결정합니다. 형식 라이브러리 기반 마샬링을 사용하거나 프록시/스텁 DLL을 사용합니다. 아파트 경계를 넘어 사용하려면 In-Process 인터페이스도 마샬링해야 합니다. 필요한 것은 아니지만 모든 COM 인터페이스에 마샬링 지원을 빌드하는 것이 좋습니다. 자세한 내용은 인터페이스 마샬링을 참조하세요.
  • IDL(인터페이스 정의) 파일의 인터페이스 또는 인터페이스를 설명합니다. 또한 ACF(애플리케이션 구성 파일)에서 인터페이스의 특정 로컬 측면을 지정할 수 있습니다. 형식 라이브러리 기반 마샬링을 사용하는 경우 형식 정보를 생성하려는 인터페이스를 참조하는 라이브러리 문을 추가합니다.
  • MIDL 컴파일러를 사용하여 형식 라이브러리 파일 및 헤더 파일 또는 C 언어 프록시/스텁 파일, 인터페이스 식별자 파일, DLL 데이터 파일 및 헤더 파일을 생성합니다. 자세한 내용은 MIDL 컴파일 을 참조하세요.
  • 선택한 마샬링 방법에 따라 DEF(모듈 정의) 파일을 작성하고, MIDL에서 생성된 모든 파일을 컴파일 및 단일 프록시 DLL에 연결하고, 시스템 레지스트리에 인터페이스를 등록하거나, 형식 라이브러리를 등록합니다. 자세한 내용은 형식 라이브러리 로드 및 등록프록시 DLL 빌드 및 등록을 참조하세요.

IDL 파일 분석

COM 클라이언트 및 서버

인터페이스 디자인 규칙

구성 요소 개체 모델