다음을 통해 공유


com_interface_entry (C++)

대상 클래스의 COM 맵 인터페이스 항목을 추가합니다.

[ com_interface_entry( 
   com_interface_entry
 ) ]

매개 변수

  • com_interface_entry
    항목의 실제 텍스트를 포함 하는 문자열입니다.사용 가능한 값 목록을 보려면을 참조 하십시오. COM_INTERFACE_ENTRY 매크로.

설명

com_interface_entry C + + 특성에 있는 대상 개체의 COM 인터페이스 맵이 통화할된 문자열의 내용을 삽입 합니다.특성 대상 개체에 한 번 적용 되는 경우 기존 인터페이스 맵 부분에 항목이 삽입 됩니다.특성 반복적으로 같은 대상 개체에 적용 되는 경우 항목이 인터페이스 맵 수신 된 순서 대로 시작 부분에 삽입 됩니다.

필요로 하는이 특성에 coclass, progid, 또는 vi_progid 특성 (또는이 중 하나를 의미 하는 다른 특성)도 적용 될 같은 요소를 합니다.다른 두 가지는 단일 특성을 사용 하는 경우에 자동으로 적용 됩니다.예를 들어, 경우 progid 적용 된 vi_progidcoclass 적용 됩니다.

때문에 가장 먼저 사용 하는 com_interface_entry 인터페이스 맵 시작 부분에 삽입 되는 새 인터페이스 COM_INTERFACE_ENTRY 다음 형식 중 하나 여야 합니다.

  • COM_INTERFACE_ENTRY

  • COM_INTERFACE_ENTRY_IID

  • COM_INTERFACE_ENTRY2

  • COM_INTERFACE_ENTRY2_IID

자세한 사용법은 com_interface_entry 특성 지원 되는 모든 COM_INTERFACE_ENTRY 형식을 사용할 수 있습니다.

ATL 인터페이스 맵에서 첫 번째 항목을 id로 사용 하기 때문에이 제한이 필요는 IUnknown. 따라서 사용할 인터페이스를 입력 해야 합니다.실제 COM 인터페이스 인터페이스 구조에서 첫 번째 항목을 지정 하지 않기 때문 예를 들어, 다음 코드 샘플에서는 올바르지 않습니다.

[ coclass, com_interface_entry =
    "COM_INTERFACE_ENTRY_NOINTERFACE(IDebugTest)"
]
   class CMyClass
   {
   };

예제

두 항목의 기존 COM 인터페이스 맵이 다음 코드를 추가 CMyBaseClass.첫 번째는 표준 인터페이스 이며 숨깁니다. 두 번째는 IDebugTest 인터페이스입니다.

// cpp_attr_ref_com_interface_entry.cpp
// compile with: /LD
#define _ATL_ATTRIBUTES
#include "atlbase.h"
#include "atlcom.h"

[module (name ="ldld")];

[ object,
  uuid("7dbebed3-d636-4917-af62-c767a720a5b9")]
__interface IDebugTest{};

[ object,
  uuid("2875ceac-f94b-4087-8e13-d13dc167fcfc")]
__interface IMyClass{};

[ coclass,
  com_interface_entry ("COM_INTERFACE_ENTRY (IMyClass)"),
  com_interface_entry ("COM_INTERFACE_ENTRY_NOINTERFACE(IDebugTest)"),
  uuid("b85f8626-e76e-4775-b6a0-4826a9e94af2")
]

class CMyClass: public IMyClass, public IDebugTest
{
};

결과 COM 개체 구조에 대 한 CMyBaseClass 는 다음과 같습니다.

    BEGIN_COM_MAP(CMyClass)
        COM_INTERFACE_ENTRY (IMyClass)
        COM_INTERFACE_ENTRY_NOINTERFACE(IDebugTest)
        COM_INTERFACE_ENTRY(IMyClass)
        COM_INTERFACE_ENTRY2(IDispatch, IMyClass)
        COM_INTERFACE_ENTRY(IDebugTest)
        COM_INTERFACE_ENTRY(IProvideClassInfo)
    END_COM_MAP()

요구 사항

컨텍스트 특성

적용 대상

클래스,struct

반복 가능

필수 특성

하나 이상의 다음: coclass, progid, 또는 vi_progid.

잘못 된 특성

없음

속성 컨텍스트에 대 한 자세한 내용은 참조 하십시오. 컨텍스트 특성.

참고 항목

기타 리소스

COM 특성

클래스 특성

Typedef, 열거형, 공용 구조체와 구조체의 특성

Attributes Samples