Domyślnie przystawka Kreator generuje standardowy obiektu przystawki. Jednakże po wybraniu opcji przystawka rozszerzenia, wygenerowany kod będzie się różniła od standardowego kodu przystawki. W szczególności, Różnica leży w obiektach klasy danych rozszerzenia przystawki ( CMySnapInData ). Istnieją dwa główne różnice, zarówno występujące w pliku nagłówkowym klasy generowane dane.
InitDataClass , CMySnapInData . InitDataClassMetoda zapewnia bezpieczną metodę inicjowania m_pDataObject Członkowskie rozszerzenie klasy danych ( CMySnapInExtData ). Domyślna implementacja buforuje wskaźnik zostanie przedłużone w przystawce obiekt m_pDataObject Członkowskim. W większości przypadków wymagane jest bez podejmowania dalszych działań.Jednakże jeśli obiekt rozszerzonych danych przystawki musi być konwertowane na wewnętrzny format, (które danych reprezentuje) przed są buforowane, metoda ta stanowi punkt wygodny dostęp do wykonywania takiej konwersji.
CMySnapInExtData ). Makra, znaleziono przed nową mapę, tworzy członkiem danych typu CMySnapInExtData w rozszerzonych obiektu przystawki. Po tym makra Mapa o użytkowniku węzła rozszerzenia jest zadeklarowany. Deklaracja zawiera makra BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP, END_EXTENSION_SNAPIN_NODEINFO_MAPi EXTENSION_SNAPIN_NODEINFO_ENTRY . Każdy wpis na mapie określa CMySnapInExtData klasy.