It’s just a day of cool fixes. For months now, people have been bugging me about the fact that MAPIFindNext doesn’t work in Vista. I knew we had a fix in the works, but I wasn’t able to give any more details than that.
Well, the wait is over – this issue has been fixed: http://support.microsoft.com/kb/939718.
Those who look closely at the fix will notice that the file getting the fix is rpcrt4.dll, not in MAPI. What had happened was portions of the code for marshalling parameters across process boundaries was rewritten in Vista. In doing this rewriting, a very obscure corner case was handled improperly, causing the marshalling to fail. The Windows Mail implementation of MAPIFindNext just happened to reliably hit that corner case.
The fix of course was to make sure that case was handled, and now Simple MAPI works in Vista. Enjoy!