Connection State API Corrections

[This is now documented here:] I’ve been working with Dmitry Streblechenko on getting a sample using the Connection State API. We’ve uncovered a number of doc bugs. All of them have been reported back to the content folks and should be corrected in the next refresh, but in the interest of unblocking folks who…


Introducing the Outlook Integration API

Outlook has decided to publish documentation for a number of previously internal only APIs which ship with Outlook 2003 SP1. Here’s a link to the docs. Due to a tight deadline, we were only able to document a small subset of these APIs. We are considering plans in place to expand these docs over time,…


Updated MSLMS Sample Posted

A while back, I posted an article about the fixes Jason and I had to make to the MSLMS sample message store to get it to load under Outlook 2003. Since then, I’ve received numerous requests that I post the changes. I wasn’t ignoring the requests – I’ve just been busy adding features to MFCMAPI…


MAPI Multithreading Rules

I wrote these rules out while debugging a crash in another MS product: All threads which use MAPI must call MAPIInitialize before doing any MAPI. All threads which use MAPI must call MAPIUninitialize before ending. No thread should ever call MAPIUninitialize if it didn’t already call MAPIInitialize. If MAPI_MULTITHREAD_NOTIFICATIONS is not used, the first thread…


When is a Deleted Profile Not Deleted?

This post was inspired by a case I worked recently. In this case, the customer was using the 5.5 Event Script service to autoaccept meeting requests. They weren’t having any problems with their script or scalability. Their problem was that the service would run fine for days at a time, and then suddenly stop handling…


More Exchange and Outlook Madness

I’m working on a followup to my memory management article and a writeup on a MAPI deleted profile bug I ran across recently, but this takes precedence. Exchange and Outlook on the same machine is bad. In my last post I waved my hands about some scenarios which could lead to a crash. I got…


EDK Library == Badness

Jason has a good writeup on why the EDK is a good source of MAPI sample code but should otherwise be avoided.


MAPI Memory Management – or – How To Leak Memory For Fun and Profit

Some of you may know that I wrote the MAPI utility/sample MFCMAPI. Someday I’ll write some posts directly about it. This post, however, is about memory management in MAPI. The latest build of MFCMAPI was just added to the internal dev tools collection for the next version of Office. This means a lot of the…


MAPI Store Providers and Outlook 2003

Put this together from a posting I made to the MAPI-L list and a couple cases I worked recently: The problem is with MAPI store providers that just don’t work when loaded under Outlook 2003. The developers of the providers, when they contact us, are usually convinced the problem is a bug in Outlook 2003…


Exchange and Outlook On The Same Machine

I was hoping to post something less controversial for my first blog entry, but this issue came up again recently and I felt I had to address it. I’m frequently asked why I we don’t support putting Outlook and Exchange on the same machine. One response I typically hear is “But I run both on…