July 2009 Release of MFCMAPI

The July 2009 Release (build 6.0.0.1014) is live: https://mfcmapi.codeplex.com.

Note that a 64 bit build is now included. Of course, to use it, you’ll need 64 bit Outlook 2010.

This time around I focused on performance. I've just discovered the built in profiler in Visual Studio and I’ve been using it to find bottlenecks in loading items and displaying their properties. It’s been enlightening to drill into the performance reports and find out just how much time some of the code paths took to execute. I was able to trim away a good bit of fat.

The biggest change I made in the name of performance was in the area of Named Properties. I found I was repeatedly calling GetNamesFromIDs to map property tags to their named prop names. Cutting down the number of calls meant implementing a cache. We still incur the initial hit to look up the mappings, but once we’ve looked up a tag, we won’t look it up again. Uncached profiles should load a bit faster now.

Here's a change list - see the Issue Tracker on Codeplex for more details, or look at the code:

  • Fixed the tooltips on column headers to stop going away
  • Added a “Count Named Properties” feature
  • Numerous perf improvements
  • Fixed compilation for VC6 and VS 2005 (see my workaround for the “old DIB” issue)
  • Found and fixed a few crashes

Enjoy.