Classe CComCoClass
Essa classe fornece métodos para criar instâncias de uma classe e obtenção de suas propriedades.
template<
class T,
const CLSID* pclsid = &CLSID_NULL
>
class CComCoClass
Parâmetros
T
Sua classe, derivado de CComCoClass.pclsid
Um ponteiro para o CLSID do objeto.
Comentários
CComCoClass Fornece métodos para recuperar o CLSID do objeto, definindo informações de erro e criar instâncias da classe. Nenhuma classe registrada no MAP de objeto deve ser derivado de CComCoClass.
CComCoClass também define o modelo padrão de fábrica e agregação de classe para seu objeto. CComCoClass usa as seguintes dois macros:
DECLARE_CLASSFACTORY Declara a fábrica de classes ser CComClassFactory.
DECLARE_AGGREGATABLE Declara que o objeto pode ser agregado.
Você pode substituir esses padrões especificando outra macro na definição de classe.Por exemplo, para usar CComClassFactory2 em vez de CComClassFactory, especifique a DECLARE_CLASSFACTORY2 macro:
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
Requisitos
Cabeçalho: atlcom.h