Par défaut, l'Assistant logiciel enfichable génère un composant logiciel enfichable objet standard. Cependant, si vous choisissez l'option Extension de composant logiciel enfichable, le code généré diffère de la snap-in code standard. Plus précisément, la différence réside dans l'objet de classe de données de l'extension de composant logiciel enfichable ( CMySnapInData ). Il y a deux principales différences, les deux qui se produisent dans le fichier d'en-tête de la classe de données générées.
InitDataClass , in CMySnapInData . La InitDataClass méthode fournit une méthode sûre pour l'initialisation de le m_pDataObject membre de la classe de données d'extension ( CMySnapInExtData ). L'implémentation par défaut met en cache un pointeur vers l'objet enfichable étendu, dans le m_pDataObject membre. Dans la plupart des cas, aucune autre mesure n'est requise.Toutefois, si l'objet de données étendues snap-in doit être converti au format interne (qui représentent des données) avant d'être mis en cache, cette méthode fournit un point d'accès commode pour effectuer cette conversion.
CMySnapInExtData ). La macro, trouvée devant la nouvelle carte, crée un membre de données de type CMySnapInExtData dans l'étendue enfichable objet. Après cette macro, la carte d'info extension nœud est déclarée. La déclaration comprend les macros BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP, END_EXTENSION_SNAPIN_NODEINFO_MAPet EXTENSION_SNAPIN_NODEINFO_ENTRY . Chaque entrée de la carte indique la CMySnapInExtData classe.