Applies To: Windows 10, Windows 7, Windows 8, Windows 8.1, Windows Server 2008, Windows Server 2008 R2, Windows Server 2012, Windows Server 2012 R2, Windows Server Technical Preview, Windows Vista
Namespace extensions are snap-ins that extend or add scope nodes as the children of a scope node belonging to other snap-ins. For example, a web-based application may add nodes such as NNTP or SMTP services as the children of the existing IIS service node.
Since a namespace extension is based on a node, the snap-in that contains the node to be extended must include a class derived from ScopeNode that has the NodeTypeAttribute. The primary snap-in must also include a PublishesNodeTypeAttribute to inform MMC that the primary snap-in may create nodes of the specified type. Multiple PublishesNodeTypeAttribute instances can be included on the same snap-in class if applicable.
Once the extensible snap-in is installed, it appears in the Add/Remove Snap-ins dialog. To create a namespace extension, a new class, similar to a snap-in, but derived from the NamespaceExtension class must be created. The ExtendsNodeTypeAttribute must be included to indicate the type of the primary node that is being extended. Multiple instances of ExtendsNodeTypeAttribute can be included. The namespace Microsoft.ManagementConsole.Advanced contains the classes used to define extension snap-ins. For an example of a namespace extension, see the sample <MMC 3.0 Samples>\ExtendingComputerManagementSample.
Notes for Implementers
Managed code extension snap-ins can extend native code snap-ins, which do not implement the previously mentioned managed code classes.