Interfaces and Thread-safety

Because they are not thread-safe, and because Proppage and dialogs run on their own threads, it is recommended that you not use Interfaces inside of these items, but rather, send a custom message to the message pump for CComponent and/or CComponentData, so that the processing is serialized (add comment to template to this effect). * Create hidden window to get all Interface work into UI thread. Serializes work.

Result Views

When you add/delete multiple result views, here are some issues you need to be aware of: * There is no way in MMC to track how many result views there are or which one has the focus. * Each result view can have it's own result pane. * UpdateAllViews()/ComponentNotify() - Each instance of IComponent should track it's current scope node.

Hot Spots

The following two methods are MMC hot-spots:

Performance and Complexity Notes

MMC/MFC Tricks

IExtendTaskPad

Working With OCXs in MMC

Extending Existing MMC Snapins