IRequiredExtensions interface

The IRequiredExtensions interface is introduced in MMC 1.1.

The IRequiredExtensions interface enables a snap-in to add some or all of the extension snap-ins registered for your snap-in.

When to implement

Implement IRequiredExtensions as part of your OLE in-process server DLL when you want MMC to add some or all of the extension snap-ins registered for your snap-in.

The IRequiredExtensions interface must be implemented in the IComponentData object.

When to use

This interface is only called by MMC.

MMC calls these methods on the snap-in's IComponentData object. When MMC loads the snap-in, it calls the IRequiredExtensions::EnableAllExtensions method to verify that the snap-in wants all registered extensions added to the snap-in. If that method returns S_OK, all registered extensions are added. If the return is not S_OK, MMC checks whether the snap-in has a list of specific required snap-ins by calling IRequiredExtensions::GetFirstExtension. If the return is S_OK, MMC adds the first extension and calls IRequiredExtensions::GetFirstExtension iteratively to get the rest of the required extensions and add them. When IRequiredExtensions::GetFirstExtension returns a non-S_OK value, MMC has come to the end of the list and stops iterating the required extension list.


The IRequiredExtensions interface inherits from the IUnknown interface. IRequiredExtensions also has these types of members:


The IRequiredExtensions interface has these methods.


Enables all extensions.


Gets first required extension.


Gets next required extension.



Minimum supported client

Windows Vista

Minimum supported server

Windows Server 2008