CComCoClass-Klasse
Diese Klasse enthält Methoden für Instanzen einer Klasse, und um seine Eigenschaften erstellen.
template<
class T,
const CLSID* pclsid = &CLSID_NULL
>
class CComCoClass
Parameter
T
Die Klasse, die von abgeleitet CComCoClass.pclsid
Ein Zeiger auf CLSID des Objekts.
Mitglieder
Öffentliche Methoden
Name |
Description |
---|---|
(Statisch) erstellt eine Instanz der Klasse und der Abfragen für eine Schnittstelle. |
|
(Statisch) bietet umfassende Fehlerinformationen an den Client zurück. |
|
(Statisch) gibt die Klassen-ID des Objekts zurück. |
|
(Statische) überschreiben, um die Beschreibung des Objekts zurückzugeben. |
Hinweise
CComCoClass stellt Methoden zum Abrufen der CLSID eines Objekts, Festlegen von Fehlerinformationen und Erstellen von Instanzen der Klasse.Alle Klasse registriertes in Objektzuordnung sollten von CComCoClass abgeleitet werden.
CComCoClass definiert auch die Standardklassenfactory und das Aggregationsmodell für das Objekt.CComCoClass verwendet die folgenden zwei Makros:
DECLARE_CLASSFACTORY deklariert die Klassenfactory, um CComClassFactory zu sein.
DECLARE_AGGREGATABLE deklariert, dass das Objekt aggregiert werden kann.
Sie können einen dieser Vorgaben überschreiben, indem Sie ein anderes Makro in der Klassendefinition angeben.Um beispielsweise CComClassFactory2 anstelle CComClassFactory zu verwenden, geben Sie die DECLARE_CLASSFACTORY2-Makro an:
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
Anforderungen
Header: möchten