Can I Write a Snap-In?

[This is preliminary documentation and subject to change.]

If you've never written a COM application, writing a snap-in that's implemented as a COM in-proc server may sound daunting; however, it may not be as difficult as you think. By leveraging the code provided in the sample application accompanying MMC and studying other COM samples, you can reduce the resources required to complete a snap-in.

If you intend to explore COM and ActiveX™ technologies further, you can find more in-depth explanations and code sample in the COM and ActiveX Object Services section of the Microsoft Platform Software Development kit (SDK). Microsoft also provides an invaluable source of sample code in the ActiveX tutorial, which itself also covers topics directly applicable to building snap-ins. Finally, although there is a growing number of books about COM and ActiveX now available, three books from Microsoft Press are particularly informative:

Choosing the right development tools can also make a major difference. A COM in-process server can be written in virtually any language that supports function calls, but using C++ is generally the easiest way to implement and use COM. At present, the MMC-specific interfaces described in this documentation do not support Java or Microsoft® Visual Basic®, although this will change further into the development process.

The Step4 sample application included with the MMC software development kit is written in C++ and makes use of the Microsoft Foundation Classes (MFC) and the Active Template Library (ATL). Like you, we do what we can to reduce our coding time and these tools help do just that. You are not required to use Microsoft software development tools, of course, but you will probably benefit by using something that reduces line-by-line coding.

Additional information about MMC is also available on the worldwide web at http://www.microsoft.com/management.