Every Snap-In provides some functionality to administrators. Transparent to the administrators, internally each Snap-In supports one or both of the following modes:
Stand Alone Snap-In - Provides management functionality even if alone in a console with no other supporting Snap-Ins. Snap-Ins designed for this mode must not rely on any other Snap-Ins being present.
Extension Snap-In - Provides functionality only when invoked by a parent Snap-In. An extension Snap-In can extend only given node types. It declares itself as being a subordinate to nodes of certain types, and then for each occurrence of those node types in the console, the console will add the related Snap-In extensions below it automatically.
For example, an extension Snap-In might be a "Log Pretty Print" Snap-In, providing users several ways to print out log files (such as the Windows NT Event Log). With this Snap-In installed, every log object in the namespace would be extended with the "Pretty Print" context menu item.
Extension Snap-Ins can provide a variety of functionality. Some will actually extend the console namespace (for example, a Snap-In that provides system information about computers would add that system information to the namespace under each computer in the namespace), while others will simply extend context menus or specific wizards. For more information, see the following section, "Console Extensibility Mechanisms."
Many Snap-Ins will support both modes of operation, offering some stand-alone functionality and also extending the functionality of other Snap-Ins. For example, the Windows NT event log Snap-In will read the event logs of computers. If the MyComputer object exists in the console, the event log Snap-In automatically extends each instance of a MyComputer object and provides the event logs for that computer. Alternatively, the event log can also operate in stand-alone mode, in which case an administrator must manually provide a computer name when the Snap-In is opened, and the Snap-In simply provides the event logs of this one computer.