there is one MMC Library sdk which is the only opensource project I know

it's from www.ironringsoftware.com ,

it lacks one small thing we encountered today, u can add nodes to the mmc tree but you can't delete.

behind the scenes it uses the IConsoleNameSpace2 interface.

which do support the remove feature . so if u'll add the following code to the BaseNode.cs:

public void Remove()

{

     IConsoleNameSpace2 cns = Snapin.ConsoleNameSpace;

    cns.DeleteItem((uint)this.HScopeItem,1);

}

u'll get a remove which removes all it's sub nodes too...

 

have fun.