Yet another IExchangeManageStore incarnation

Yep, that’s right: IExchangeManageStore5 is upon us. And this is the coolest one yet! I’m intrigued…what does it do? The cool new feature in this interface is the ability to retrieve a mailbox table (or public folder table) that contains only mailboxes in a particular information store. Prior versions of the IExchangeManageStore interfaces would always return…


Outlook Account Management API Sample

Just a quick entry to post this sample.  A few folks have had trouble getting the Account Management API to work correctly.  This is a simple sample I wrote to enumerate the accounts in a profile that hopefully will help.  Download it here.


CreateMHTMLBody Won’t Read Web Pages Compressed with GZIP

The title says it all.  If you’ve got a web page hosted on a site that does GZIP compression, you can’t point CDO’s CreateMHTMLBody at it.  You’ll get back one of a few different errors, depending on your IE setup.  The ones I’ve seen are (with IE 6.0 SP1 installed): “Invalid Syntax” (if you don’t…


New Sample Transport Provider

I’ve been working with MAPI for over 5 years now.  In that 5 years I’ve supported my share of developers writing their own MAPI providers (message store, transport, address book), but I’ve never actually sat down and written one myself.  Until now 😉 I decided to do a transport, since we already *kinda* have a…


Subject Sorting in Outlook

I just recently worked through an issue where messages in a custom message store would not sort on the Subject field.  Other text properties sorted fine, just not Subject. The problem was because Outlook doesn’t sort the Subject field on PR_SUBJECT.  It actually uses PR_NORMALIZED_SUBJECT, which should filter out any prefixes from the subject (like…


PR_MAPPING_SIGNATURE and custom message stores

I was pulled into a neat little issue with a custom message store that didn’t behave correctly with appointments in Outlook.  It seems that everything was created fine, and Outlook set all of the named properties correctly on appointments.  The custom store was supporting named properties correctly and exposing them in their contents tables, so…


Getting Exchange MAPI’s GC-Reconnect stuff to work

I recently wrestled with this and found it wasn’t exactly intuitive, so I wanted to share my findings. What the heck am I talking about? Imagine this scenario.  Your MAPI application running on a machine with Exchange 2000 or 2003’s MAPI implementation is humming along smoothly, when a global catalog server (GC) goes down.  This particular…


The RPC Canceller

I get a lot of questions about Outlook’s infamous RPC Canceller.  I’m sure you’ve seen this at some point (if you’ve used Outlook 2002 or 2003 with Exchange server).  The RPC Canceller is the feature that gives you that fun little dialog: “Outlook is retrieving data from the Microsoft Exchange Server <Server name>. You can…


Using the EDK Libraries Effectively

I hate the EDK.  There, I said it.  So, admittedly, this is less of a guide to using the EDK, and more of an attempt to convince you to ditch it. 😉 If you’re reading this post with any kind of interest, then chances are you’ve written code with the EDK at some point in your coding…


PR_RECORD_KEY and Outlook 2003 Shortcuts

I just read Steve Griffin’s excellent post on store providers under Outlook 2003 (Read it here.) As luck would have it, I just happened to be investigating an issue with a third-party MAPI provider and Outlook 2003’s shortcut bar. The problem reported was that if you created a shortcut to a folder in the third-party…