Оснастки-расширения расширяют функциональные возможности других оснасток, но они не добавляются непосредственно в консоль, как автономные оснастки. Оснастки-расширения могут добавлять элементы контекстного меню, страницы свойств, кнопки панели инструментов, задачи панели задач и элементы в пространство имен расширенной оснастки (также называемой основной оснасткой).
Основные оснастки сами по себе могут расширять функциональные возможности других оснасток. То есть одна и та же кодовая база оснастки может создать экземпляр основной оснастки и экземпляр оснастки расширения.
Оснастка расширения загружается только тогда, когда загружается расширяемая им оснастка и используется функция, которую она расширяет. Например, когда пользователь отображает контекстное меню в автономной оснастке, MMC создает контекстное меню, предлагает автономной оснастке добавить свои элементы, а затем предлагает оснастке расширения добавить свои элементы. . После того, как все оснастки добавили свои элементы, MMC отображает контекстное меню, а затем перенаправляет щелчок меню на оснастку, которой принадлежит элемент.
Оснастка расширения может расширять только те типы узлов, которые автономная оснастка указывает как расширяемые. Оснастка расширения объявляет себя подчиненной по отношению к расширяемым типам узлов, а затем для каждого вхождения этих типов узлов в консоли консоль автоматически добавляет под собой соответствующие расширения оснастки.
Важно понимать, что тип узла может представлять элемент области, стандартный элемент результата представления списка или элемент результата представления виртуального списка, добавленный основной оснасткой. Обратитесь к документации по основной оснастке, чтобы определить, что представляет собой тип узла и формат его экспортируемых данных.