Standardmäßig generiert der Assistent-Snap-In eine standard-Snap-in-Objekt. Jedoch, wenn Sie die Snap-in-Erweiterung Option, der generierte Code unterscheidet sich von der standard-Snap-in-Code. Insbesondere der Unterschied liegt im Klasse-Objekt der Erweiterungs-Snap-in ( CMySnapInData ). Es gibt zwei Hauptunterschiede, beide auftreten in der Headerdatei der Datenklasse generierte.
InitDataClass , in CMySnapInData . Die InitDataClass -Methode bietet eine sichere Methode für die Initialisierung der m_pDataObject Member der Klasse Daten Erweiterung ( CMySnapInExtData ). Die Standardimplementierung speichert einen Zeiger auf das Objekt-Snap-in erweitert, in der m_pDataObject Mitglied. In den meisten Fällen ist keine weitere Aktion erforderlich.Jedoch, wenn das erweiterte Snap-in-Datenobjekt muss in das interne Format (die die Daten darstellt) konvertiert werden, bevor zwischengespeichert wird, stellt diese Methode einen bequemen Zugang zum Ausführen dieser Konvertierung.
CMySnapInExtData ). Das Makro, bevor Sie die neue Karte gefunden erstellt einen Datenmember des Typs CMySnapInExtData in das erweiterte Objekt-Snap-in. Nach diesem Makro ist die Erweiterung Knoten Info Karte erklärt. Die Erklärung enthält die Makros, BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP, END_EXTENSION_SNAPIN_NODEINFO_MAPund EXTENSION_SNAPIN_NODEINFO_ENTRY . Jeder Eintrag in der Karte gibt die CMySnapInExtData Klasse.