[This is preliminary documentation and subject to change.]
Each item in the scope pane is presented as a node identified by a label and represented by a folder icon to the left of an item's label in the tree-view control. The folder is opened when the item is selected and closed when the item is not selected. The snap-in inserts the nodes once into a master tree that is maintained by MMC. For each view created on the same data, the console is responsible for adding the scope pane nodes to the new view's scope pane.
A user can expand the tree by double-clicking an item in the scope pane. The primary snap-in is a container and any subcontainers within it become visible because the node is responsible for enumerating the subcontainers for that scope pane. This enumeration is accomplished by a call to IComponentData::Notify. This method and all other methods belonging to this interface are summarized in Implementing the IComponentData interface.
The scope pane of an MMC tool combines the subcontainers from the snap-ins selected by the creator of the tool. In this way, the administrator can create an MMC tool specific to local needs without modifying snap-in code. This is part of MMC's support for task delegation.
It is up to the snap-in to define the term subcontainer. Regardless of the particular definition, however, you can use the node manager's implementation of IConsoleNameSpace methods to manipulate subcontainers. InsertItem and DeleteItem are used to insert or remove single items from the scope pane. You can set or retrieve single items by using the SetItem and GetItem pair of methods. GetChildItem, GetNextItem, and GetParentItem walk the tree's nodes.
The SCOPEDATAITEM structure is available to pass much of the information handled by IConsoleNameSpace methods.