Macros de Registre
Ces macros définissent des fonctionnalités utiles de bibliothèque de types et de Registre.
Nom | Description |
---|---|
_ATL_STATIC_REGISTRY | Indique que vous souhaitez que le code d’inscription de votre objet soit dans l’objet afin d’éviter une dépendance sur ATL.DLL. |
DECLARE_LIBID | Permet à ATL d’obtenir le libid de la bibliothèque de types. |
DECLARE_NO_REGISTRY | Évite l’inscription ATL par défaut. |
DECLARE_REGISTRY | Entre ou supprime l’entrée de l’objet principal dans le Registre système. |
DECLARE_REGISTRY_APPID_RESOURCEID | Spécifie les informations requises pour inscrire automatiquement l’appid. |
DECLARE_REGISTRY_RESOURCE | Recherche la ressource nommée et exécute le script de Registre dans celui-ci. |
DECLARE_REGISTRY_RESOURCEID | Recherche la ressource identifiée par un numéro d’ID et exécute le script de Registre dans celui-ci. |
Spécifications
En-tête : atlcom.h
_ATL_STATIC_REGISTRY
Symbole qui indique que vous souhaitez que le code d’inscription de votre objet soit dans l’objet afin d’éviter une dépendance sur ATL.DLL.
#define _ATL_STATIC_REGISTRY
Notes
Lorsque vous définissez ATL_STATIC_REGISTRY, vous devez utiliser le code suivant :
#ifdef _ATL_STATIC_REGISTRY
#include <statreg.h>
#endif
DECLARE_LIBID
Permet à ATL d’obtenir le libid de la bibliothèque de types.
DECLARE_LIBID( libid )
Paramètres
libid
GUID de la bibliothèque de types.
Notes
Utilisez DECLARE_LIBID dans une CAtlModuleT
classe dérivée.
Exemple
Les projets ATL générés par l’Assistant non attribut ont un exemple d’utilisation de cette macro.
DECLARE_NO_REGISTRY
Utilisez DECLARE_NO_REGISTRY si vous souhaitez éviter toute inscription ATL par défaut pour la classe dans laquelle cette macro apparaît.
DECLARE_NO_REGISTRY()
DECLARE_REGISTRY
Entre l’inscription de classe standard dans le registre système ou la supprime du registre système.
DECLARE_REGISTRY(
class,
pid,
vpid,
nid,
flags )
Paramètres
class
[in] Inclus pour la compatibilité descendante.
pid
[in] LPCTSTR qui est un identificateur de programme spécifique à la version.
vpid
[in] LPCTSTR qui est un identificateur de programme indépendant de la version.
nid
[in] UINT qui est un index de la chaîne de ressource dans le Registre à utiliser comme description du programme.
flags
[in] DWORD contenant le modèle de thread du programme dans le Registre. Doit être l’une des valeurs suivantes : THREADFLAGS_APARTMENT, THREADFLAGS_BOTH ou AUTPRXFLAG.
Notes
L’inscription standard se compose du CLSID, de l’ID de programme, de l’ID de programme indépendant de la version, de la chaîne de description et du modèle de thread.
Lorsque vous créez un objet ou un contrôle à l’aide de l’Assistant Ajouter une classe ATL, l’Assistant implémente automatiquement la prise en charge du Registre basé sur des scripts et ajoute la macro DECLARE_REGISTRY_RESOURCEID à vos fichiers. Si vous ne souhaitez pas prendre en charge le Registre basé sur des scripts, vous devez remplacer cette macro par DECLARE_REGISTRY. DECLARE_REGISTRY insère uniquement les cinq clés de base décrites ci-dessus dans le Registre. Vous devez écrire manuellement du code pour insérer d’autres clés dans le Registre.
DECLARE_REGISTRY_APPID_RESOURCEID
Spécifie les informations requises pour inscrire automatiquement l’appid.
DECLARE_REGISTRY_APPID_RESOURCEID(
resid,
appid )
Paramètres
résident
ID de ressource du fichier .rgs qui contient des informations sur l’appid.
appid
GUID.
Notes
Utilisez DECLARE_REGISTRY_APPID_RESOURCEID dans une CAtlModuleT
classe dérivée.
Exemple
Les classes ajoutées aux projets ATL avec l’Assistant Ajout de code de classe auront un exemple d’utilisation de cette macro.
DECLARE_REGISTRY_RESOURCE
Obtient la ressource nommée contenant le fichier de Registre et exécute le script pour entrer des objets dans le registre système ou les supprimer du registre système.
DECLARE_REGISTRY_RESOURCE( x )
Paramètres
x
[in] Identificateur de chaîne de votre ressource.
Notes
Lorsque vous créez un objet ou un contrôle à l’aide de l’Assistant Projet ATL, l’Assistant implémente automatiquement la prise en charge du Registre basé sur des scripts et ajoute la macro DECLARE_REGISTRY_RESOURCEID , similaire à DECLARE_REGISTRY_RESOURCE, à vos fichiers.
Vous pouvez établir un lien statique avec le composant de Registre ATL (Bureau d’enregistrement) pour optimiser l’accès au Registre. Pour lier statiquement le code du bureau d’enregistrement, ajoutez la ligne suivante à votre fichier pch.h (stdafx.h dans Visual Studio 2017 et versions antérieures) :
#define _ATL_STATIC_REGISTRY
Si vous souhaitez qu’ATL remplace les valeurs de remplacement au moment de l’exécution, ne spécifiez pas la macro DECLARE_REGISTRY_RESOURCE ou DECLARE_REGISTRY_RESOURCEID. Au lieu de cela, créez un tableau de _ATL_REGMAP_ENTRIES
structures, où chaque entrée contient un espace réservé variable associé à une valeur pour remplacer l’espace réservé au moment de l’exécution. Appelez ensuite CAtlModule ::UpdateRegistryFromResourceD ou CAtlModule ::UpdateRegistryFromResourceS, en passant le tableau. Cela ajoute toutes les valeurs de remplacement dans les _ATL_REGMAP_ENTRIES
structures à la carte de remplacement du bureau d’enregistrement.
Pour plus d’informations sur les paramètres et les scripts remplaçables, consultez l’article The ATL Registry Component (Registrar).
DECLARE_REGISTRY_RESOURCEID
Identique à DECLARE_REGISTRY_RESOURCE sauf qu’il utilise un UINT généré par l’Assistant pour identifier la ressource, plutôt qu’un nom de chaîne.
DECLARE_REGISTRY_RESOURCEID( x )
Paramètres
x
[in] Identificateur généré par l’Assistant de votre ressource.
Notes
Lorsque vous créez un objet ou un contrôle à l’aide de l’Assistant Projet ATL, l’Assistant implémente automatiquement la prise en charge du Registre basé sur des scripts et ajoute la macro DECLARE_REGISTRY_RESOURCEID à vos fichiers.
Vous pouvez établir un lien statique avec le composant de Registre ATL (Bureau d’enregistrement) pour optimiser l’accès au Registre. Pour lier statiquement le code du bureau d’enregistrement, ajoutez la ligne suivante à votre fichier stdafx.h (pch.h dans Visual Studio 2019 et versions ultérieures) :
#define _ATL_STATIC_REGISTRY
Si vous souhaitez qu’ATL remplace les valeurs de remplacement au moment de l’exécution, ne spécifiez pas la macro DECLARE_REGISTRY_RESOURCE ou DECLARE_REGISTRY_RESOURCEID. Au lieu de cela, créez un tableau de _ATL_REGMAP_ENTRIES
structures, où chaque entrée contient un espace réservé variable associé à une valeur pour remplacer l’espace réservé au moment de l’exécution. Appelez ensuite CAtlModule ::UpdateRegistryFromResourceD ou CAtlModule ::UpdateRegistryFromResourceS, en passant le tableau. Cela ajoute toutes les valeurs de remplacement dans les _ATL_REGMAP_ENTRIES
structures à la carte de remplacement du bureau d’enregistrement.
Pour plus d’informations sur les paramètres et les scripts remplaçables, consultez l’article The ATL Registry Component (Registrar).