다음을 통해 공유


개체 맵 매크로

이러한 매크로는 개체 맵 및 항목을 정의합니다.

속성 설명
DECLARE_OBJECT_DESCRIPTION 개체 맵에 입력할 클래스 개체의 텍스트 설명을 지정할 수 있습니다.
OBJECT_ENTRY_AUTO 개체 맵에 ATL 개체를 입력하고, 레지스트리를 업데이트하고, 개체의 인스턴스를 만듭니다.
OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO 개체를 등록하고 초기화해야 하지만 CoCreateInstance를 통해 외부적으로 생성할 수 없도록 지정할 수 있습니다.

요구 사항

헤더: atlcom.h

DECLARE_OBJECT_DESCRIPTION

클래스 개체에 대한 텍스트 설명을 지정할 수 있습니다.

DECLARE_OBJECT_DESCRIPTION( x )

매개 변수

x
[in] 클래스 개체의 설명입니다.

설명

ATL은 OBJECT_ENTRY_AUTO 매크로를 통해 개체 맵에 이 설명을 입력합니다.

DECLARE_OBJECT_DESCRIPTION CComCoClass::GetObjectDescription 메서드를 재정의하는 데 사용할 수 있는 함수를 구현 GetObjectDescription 합니다.

함수는 GetObjectDescription .에서 호출됩니다 IComponentRegistrar::GetComponents. IComponentRegistrar 은 DLL에서 개별 구성 요소를 등록 및 등록 취소할 수 있는 Automation 인터페이스입니다. ATL 프로젝트 마법사를 사용하여 구성 요소 등록자 개체를 만들면 마법사에서 인터페이스를 IComponentRegistrar 자동으로 구현합니다. IComponentRegistrar 는 일반적으로 Microsoft Transaction Server에서 사용됩니다.

ATL 프로젝트 마법사에 대한 자세한 내용은 ATL 프로젝트 만들기 문서를 참조하세요.

예시

class ATL_NO_VTABLE CMyDescribedClass :
   public CComObjectRoot,
   public CComCoClass<CMyDescribedClass, &CLSID_MyDescribedClass>
{
public:
   CMyDescribedClass()
   {
   }

   // Override CComCoClass::GetObjectDescription
   DECLARE_OBJECT_DESCRIPTION("My Described Object 1.0")
};

OBJECT_ENTRY_AUTO

개체 맵에 ATL 개체를 입력하고, 레지스트리를 업데이트하고, 개체의 인스턴스를 만듭니다.

OBJECT_ENTRY_AUTO( clsid, class )

매개 변수

clsid
[in] C++ 클래스에서 구현하는 COM 클래스의 CLSID입니다.

class
[in] clsid로 표시되는 COM 클래스를 구현하는 C++ 클래스의 이름입니다.

설명

개체 항목 매크로는 클래스 등록, 초기화 및 만들기를 지원하도록 프로젝트의 전역 범위에 배치됩니다.

OBJECT_ENTRY_AUTO 자동으로 생성된 ATL 개체 맵에 이 개체에 대한 작성자 클래스 및 클래스 팩터리 작성자 클래스 CreateInstance 함수의 함수 포인터를 입력합니다. CAtlComModule::RegisterServer가 호출되면 개체 맵의 각 개체에 대한 시스템 레지스트리가 업데이트됩니다.

아래 표에서는 개체 맵에 추가된 정보를 이 매크로의 두 번째 매개 변수로 지정된 클래스에서 가져오는 방법을 설명합니다.

에 대한 정보 에서 획득
COM 등록 레지스트리 매크로
클래스 팩터리 만들기 클래스 팩터리 매크로
인스턴스 만들기 집계 매크로
구성 요소 범주 등록 범주 매크로
클래스 수준 초기화 및 정리 ObjectMain

OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO

개체를 등록하고 초기화해야 하지만 CoCreateInstance를 통해 외부적으로 생성할 수 없도록 지정할 수 있습니다.

OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO( clsid, class )

매개 변수

clsid
[in] C++ 클래스에서 구현하는 COM 클래스의 CLSID입니다.

class
[in] clsid로 표시되는 COM 클래스를 구현하는 C++ 클래스의 이름입니다.

설명

개체 항목 매크로는 클래스 등록, 초기화 및 만들기를 지원하도록 프로젝트의 전역 범위에 배치됩니다.

OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO 개체를 등록하고 초기화하도록 지정할 수 있지만(자세한 내용은 OBJECT_ENTRY_AUTO 참조) 통해 CoCreateInstance만들 수 없습니다.

참고 항목

매크로