Adding Required Extensions

Required extensions are extension snap-ins that are automatically added to the primary snap-in when the primary snap-in is loaded. By implementing the IRequiredExtensions interface, a snap-in specifies the list of required extensions that MMC should load when that snap-in is loaded.

Required extensions are added to all instances of the primary snap-in. In addition, required extensions cannot be removed programmatically or through the Add/Remove Snap-in dialog box.

Required extensions are persisted in the console file, but at each session the snap-in is queried for the list. Only required extensions specified by the latest query are used.

The snap-in can specify that all registered extension snap-ins should be added by implementing the IRequiredExtensions::EnableAllExtensions method. The snap-in can specify a specific list of registered extension snap-ins to be added by implementing the IRequiredExtensions::GetFirstExtension and IRequiredExtensions::GetNextExtension methods.

Working with Extension Snap-ins