This documentation is archived and is not being maintained.

SnapIn Class

Visual Studio 2008

Provides the main entry point for the creation of a snap-in. In the managed framework in MMC, a minimal amount of code that uses this class is required to build a simple snap-in that has core functionality. The NamespaceSnapInBase class from which the SnapIn class is derived, provides an implementation of functionality that is common to both standalone and extension snap-ins.

Namespace:  Microsoft.ManagementConsole
Assembly:  Microsoft.ManagementConsole (in Microsoft.ManagementConsole.dll)

public abstract class SnapIn : NamespaceSnapInBase

This class provides an abstraction for the following three types of information:

  • Registration: Registration information for a snap-in is provided through the use of attributes of the snap-in derived class and its nodes. In particular, for the derived class, the attributes specify the following information:

    • About: This contains items such as the name and the description. This information is added to the registry and used within MMC in the Add/Remove Programs dialog. It avoids having to load and initialize the snap-in when the snap-in is only being browsed.

    • Extension: The snap-in may be extended by another snap-in. Attributes are used to specify the node types that can be extended.

  • Scope namespace root: Every stand-alone snap-in must have a node that represents the scope namespace root of the snap-in. This node is exposed as the RootNode property of the snap-in class. The scope namespace is manipulated by adding and removing nodes from the collection of child scope nodes in the tree.

  • Global snap-in: The SnapIn class has two member properties that are image lists. They represent 16 x 16 and 32 x 32 images of all the UI elements in the snap-in. Any MMC API that uses images needs an index of these two image lists. It is the responsibility of the snap-in developer to ensure that for every 16 x 16 image there is a corresponding 32 x 32 image. The list can be updated dynamically.

Note   The LargeImages and SmallImages properties are read-only in that you can only "get" the instance of the image list. However, this does not preclude you from modifying the contents of the image lists by using the methods that are available in the SnapInImageList class.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0