Partager via


Macros de catégorie

Ces macros définissent des mappages de catégorie.

Macro Description
BEGIN_CATEGORY_MAP Marque le début du mappage de catégories.
END_CATEGORY_MAP Marque la fin du mappage de catégories.
IMPLEMENTED_CATEGORY Indique les catégories implémentées par l’objet COM.
REQUIRED_CATEGORY Indique les catégories requises du conteneur par l’objet COM.

Spécifications

En-tête : atlcom.h

BEGIN_CATEGORY_MAP

Marque le début du mappage de catégories.

BEGIN_CATEGORY_MAP(theClass)

Paramètres

theClass
[in] Nom de la classe contenant le mappage de catégorie.

Notes

Le mappage de catégories est utilisé pour spécifier les catégories de composants que la classe COM implémente et les catégories dont elle a besoin à partir de son conteneur.

Ajoutez une entrée IMPLEMENTED_CATEGORY au mappage pour chaque catégorie implémentée par la classe COM. Ajoutez une entrée REQUIRED_CATEGORY au mappage pour chaque catégorie que la classe exige que ses clients implémentent. Marquez la fin de la carte avec la macro END_CATEGORY_MAP .

Les catégories de composants répertoriées dans la carte sont enregistrées automatiquement lorsque le module est inscrit si la classe a un OBJECT_ENTRY_AUTO associé ou OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO.

Remarque

ATL utilise le gestionnaire de catégories de composants standard pour inscrire des catégories de composants. Si le gestionnaire n’est pas présent sur le système lorsque le module est inscrit, l’inscription réussit, mais les catégories de composants ne seront pas inscrites pour cette classe.

Pour plus d’informations sur les catégories de composants, consultez Les catégories de composants et comment fonctionnent-elles dans le Kit de développement logiciel (SDK) Windows.

Exemple

BEGIN_CATEGORY_MAP(CMyCtrl)
   IMPLEMENTED_CATEGORY(CATID_Insertable)
END_CATEGORY_MAP()

END_CATEGORY_MAP

Marque la fin du mappage de catégories.

END_CATEGORY_MAP()

Exemple

Consultez l’exemple de BEGIN_CATEGORY_MAP.

IMPLEMENTED_CATEGORY

Ajoutez une macro IMPLEMENTED_CATEGORY à la carte de catégorie de votre composant pour spécifier qu’elle doit être inscrite comme implémentant la catégorie identifiée par le paramètre catID.

IMPLEMENTED_CATEGORY(catID)

Paramètres

catID
[in] Constante CATID ou variable contenant l’identificateur global unique (GUID) pour la catégorie implémentée. L’adresse de catID est prise et ajoutée à la carte. Consultez le tableau ci-dessous pour obtenir une sélection de catégories d’actions.

Notes

Les catégories de composants répertoriées dans la carte sont enregistrées automatiquement lorsque le module est inscrit si la classe a une macro OBJECT_ENTRY_AUTO ou OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO associée.

Les clients peuvent utiliser les informations de catégorie inscrites pour la classe pour déterminer ses fonctionnalités et ses exigences sans avoir à créer une instance de celle-ci.

Pour plus d’informations sur les catégories de composants, consultez Les catégories de composants et comment fonctionnent-elles dans le Kit de développement logiciel (SDK) Windows.

Sélection de catégories de stock

Description Symbole GUID du Registre
Coffre pour l’écriture de scripts CATID_Coffre ForScripting {7DD95801-9882-11CF-9FA9-00AA006C42C4}
Coffre pour l’initialisation CATID_Coffre ForInitializing {7DD95802-9882-11CF-9FA9-00AA006C42C4}
Contenu du site de trame simple CATID_SimpleFrameControl {157083E0-2368-11cf-87B9-00AA006C8166}
liaison de données simple CATID_PropertyNotifyControl {157083E1-2368-11cf-87B9-00AA006C8166}
Liaison de données avancée CATID_VBDataBound {157083E2-2368-11cf-87B9-00AA006C8166}
Contrôles sans fenêtre CATID_WindowlessObject {1D06B600-3AE3-11cf-87B9-00AA006C8166}
Objets prenant en compte Internet Consultez les objets Prenant en charge Internet dans le Kit de développement logiciel (SDK) Windows pour obtenir un exemple de liste.

Exemple

BEGIN_CATEGORY_MAP(CMyCtrl)
   IMPLEMENTED_CATEGORY(CATID_Insertable)
END_CATEGORY_MAP()

REQUIRED_CATEGORY

Ajoutez une macro REQUIRED_CATEGORY à la carte de catégorie de votre composant pour spécifier qu’elle doit être inscrite comme nécessitant la catégorie identifiée par le paramètre catID.

REQUIRED_CATEGORY( catID )

Paramètres

catID
[in] Constante CATID ou variable contenant l’identificateur global unique (GUID) pour la catégorie requise. L’adresse de catID est prise et ajoutée à la carte. Consultez le tableau ci-dessous pour obtenir une sélection de catégories d’actions.

Notes

Les catégories de composants répertoriées dans la carte sont enregistrées automatiquement lorsque le module est inscrit si la classe a une macro OBJECT_ENTRY_AUTO ou OBJECT_ENTRY_NON_CREATEABLE_EX_AUTO associée.

Les clients peuvent utiliser les informations de catégorie inscrites pour la classe pour déterminer ses fonctionnalités et ses exigences sans avoir à créer une instance de celle-ci. Par exemple, un contrôle peut exiger qu’un conteneur prend en charge la liaison de données. Le conteneur peut déterminer s’il dispose des fonctionnalités nécessaires pour héberger le contrôle en interrogeant le gestionnaire de catégories pour les catégories requises par ce contrôle. Si le conteneur ne prend pas en charge une fonctionnalité requise, il peut refuser d’héberger l’objet COM.

Pour plus d’informations sur les catégories de composants, notamment une liste d’exemples, consultez Les catégories de composants et comment fonctionnent-elles dans le Kit de développement logiciel (SDK) Windows.

Sélection de catégories de stock

Description Symbole GUID du Registre
Coffre pour l’écriture de scripts CATID_Coffre ForScripting {7DD95801-9882-11CF-9FA9-00AA006C42C4}
Coffre pour l’initialisation CATID_Coffre ForInitializing {7DD95802-9882-11CF-9FA9-00AA006C42C4}
Contenu du site de trame simple CATID_SimpleFrameControl {157083E0-2368-11cf-87B9-00AA006C8166}
liaison de données simple CATID_PropertyNotifyControl {157083E1-2368-11cf-87B9-00AA006C8166}
Liaison de données avancée CATID_VBDataBound {157083E2-2368-11cf-87B9-00AA006C8166}
Contrôles sans fenêtre CATID_WindowlessObject {1D06B600-3AE3-11cf-87B9-00AA006C8166}
Objets prenant en compte Internet Consultez les objets Prenant en charge Internet dans le Kit de développement logiciel (SDK) Windows pour obtenir un exemple de liste.

Exemple

BEGIN_CATEGORY_MAP(CMyWindow)
   REQUIRED_CATEGORY(CATID_InternetAware)
END_CATEGORY_MAP()

Voir aussi

Macros