CComCoClass Class
Этот класс содержит методы для создания экземпляров классов и получения его свойства.
template<
class T,
const CLSID* pclsid = &CLSID_NULL
>
class CComCoClass
Параметры
T
Класс, производный от CComCoClass.pclsid
Указатель на идентификатор CLSID объекта.
Члены
Открытые методы
Имя |
Описание |
---|---|
(Статический) Создает экземпляр класса и запросов для интерфейса. |
|
(Статический) Возвращает форматированный сведения об ошибке клиенту. |
|
(Статический) Возвращает идентификатор класса объекта. |
|
(Статический) Переопределите для возврата описание объекта. |
Заметки
CComCoClass предоставляет методы для получения идентификатора CLSID объекта, устанавливать сведения об ошибках и создания экземпляров класса. Любой класс, зарегистрированный в сопоставление объекта должен быть производным от CComCoClass.
CComCoClass также определяет модель по умолчанию фабрики классов и агрегата для конкретного объекта. CComCoClass использует следующие 2 макроса:
DECLARE_CLASSFACTORY объявляет фабрику класса для CComClassFactory.
DECLARE_AGGREGATABLE объявляет, что объект может быть агрегированными.
Можно переопределить одно из этих значений по умолчанию, указав другой макрос в определении класса. Например, чтобы использовать CComClassFactory2 вместо CComClassFactory укажите макрос DECLARE_CLASSFACTORY2:
class ATL_NO_VTABLE CMyClass2 :
public CComObjectRootEx<CComSingleThreadModel>,
public CComCoClass<CMyClass2, &CLSID_MyClass>,
public IDispatchImpl<IMyClass, &IID_IMyClass, &LIBID_NVC_ATL_COMLib, /*wMajor =*/ 1, /*wMinor =*/ 0>,
public IDispatchImpl<IMyDualInterface, &__uuidof(IMyDualInterface), &LIBID_NVC_ATL_COMLib, /* wMajor = */ 1, /* wMinor = */ 0>
{
public:
DECLARE_CLASSFACTORY2(CMyLicense)
// Remainder of class declaration omitted
Требования
Header: atlcom.h