How MMC Works

The MMC console is a Windows-based MDI application that heavily leverages Internet technologies. The console itself has no management behavior; it is a host that contains other software—Snap-Ins— that extend the console to offer the actual management capabilities.

You can picture the MMC model as follows:

The UI elements of the tool interact with the MMC Snap-In Manager, which interacts with the various Snap-Ins. The Snap-In Manager also deals with saving settings into a document (.MSC file). The items at the top of the picture (the .MSC file and the UI elements), are all that a user deals with. The items at the bottom (the Snap-In Manager and the two Snap-Ins, "Router Monitor" and "Event Viewer") are the elements that the developers deal with.

When a MMC tool document is loaded, one or more Snap-Ins are initialized. These Snap-Ins are integrated to create the tool's namespace—the ordered collection of nodes that appears in the tree view in the scope pane. The namespace is a master tree that represents what the tool can do. It appears similar to a tree view of the files and folders on a hard drive. The namespace can include all manageable aspects of a network—computers, users and groups, and so on. It can include objects, views, and tasks.

The child windows in MMC are views into this master namespace (as pictured below). This is akin to having multiple instances of Explorer looking at the same hard drive. Each view may be rooted at a different portion of the tree but they all point to the same master data source. If data is currently displayed in multiple child windows, when that data is deleted in one view it will also disappear from the other views.