Classe de CComCoClass
Cette classe fournit des méthodes pour créer des instances d'une classe, et obtenir ses propriétés.
template<
class T,
const CLSID* pclsid = &CLSID_NULL
>
class CComCoClass
Paramètres
T
Votre classe, dérivée de CComCoClass.pclsid
Un pointeur vers le CLSID de l'objet.
Membres
Méthodes publiques
Nom |
Description |
---|---|
(Statique) crée une instance de la classe et des requêtes pour une interface. |
|
(Statique) retourne des informations sur l'erreur riches au client. |
|
(Statique) retourne l'identificateur de classe de l'objet. |
|
Substitution (statique) pour retourner la description de l'objet. |
Notes
CComCoClass fournit des méthodes pour récupérer le CLSID d'un objet, définir les informations d'erreur, et créer des instances de la classe.Toute classe stockée dans tableau d'objets doit être dérivée d' CComCoClass.
CComCoClass définit également le modèle par défaut de fabrique de classes et de regroupement pour votre objet.CComCoClass utilise les deux macros suivantes :
DECLARE_CLASSFACTORY déclare la fabrique de classe pour être CComClassFactory.
DECLARE_AGGREGATABLE déclare que votre objet peut être regroupé.
Vous pouvez substituer l'une ou l'autre de ces valeurs par défaut en spécifiant une autre macro dans la définition de classe.Par exemple, pour utiliser CComClassFactory2 au lieu d' CComClassFactory, spécifiez la macro de 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
Configuration requise
Header: atlcom.h