За промовчанням майстер-генерує стандартного оснащення об'єкта. Проте, якщо вибрати параметр Оснастка розширення, згенерований код буде відрізнятися від стандартний код оснастки. Зокрема, різниця полягає в даних класу об'єкта розширення оснастки ( CMySnapInData ). Існують дві основні відмінності, обидва відбуваються в заголовний файл, згенерований даних класу.
InitDataClass , в CMySnapInData . На InitDataClass метод забезпечує безпечний метод для ініціалізації в m_pDataObject член класу розширення даних ( CMySnapInExtData ). За замовчуванням реалізація кешує вказівник на оснащення об'єкта поширюється, в регіоні m_pDataObject член. У більшості випадків не подальших дій виконувати не потрібно.Однак, якщо об'єкт розширені оснастки даних має бути перетворено на внутрішній формат, (що становить дані) перед буде збережено на комп'ютері, цей метод забезпечує зручний доступ точка, щоб виконати це перетворення.
CMySnapInExtData ). Макрос, знайшов перед Нова карта, створює дані членом тип CMySnapInExtData в об'єкті розширені оснастки. Після цього макрос оголошений карта інформація вузлом розширення. Декларація містить макроси BEGIN_EXTENSION_SNAPIN_NODEINFO_MAP, END_EXTENSION_SNAPIN_NODEINFO_MAPі EXTENSION_SNAPIN_NODEINFO_ENTRY . Визначає кожний запис на карті в CMySnapInExtData клас.