Wrapped PST and Indexing

One of the things we’ve seen with Outlook 2013 is that Wrapped PSTs that never used to be indexed by Outlook are indexed now. This can be great if you’ve got a store which can deal with being crawled, but what if your store can’t handle it? The PST provider on which the Wrapped PST…


SetReceiveFolder and Cached Mode

We recently resolved a case here where a customer, as part of their larger application, was using SetReceiveFolder to direct messages of their message class to the correct folder so their application could do further processing on them. However, when they tested their application in cached mode, it didn’t work. The SetReceiveFolder call would return…


PST Search Folders Not Completing

This was an interesting scenario one of our customers came up with. They process a lot PSTs. As part of this processing, they create search folders and wait for them to complete building. They found that for many PSTs, they would never get a notification that the search folder had finished building. Here’s the basic…


Can’t Open A Stream Twice

A customer asked me to document this, as they had run in to it while developing a COM Add-in for Outlook. They were trying to do some work with attachments, and this led them to listen to the Outlook Object Model’s BeforeAttachmentAdd event. Inside this event, they used MAPIOBJECT to get the attachment, and called…


Hacking the PST Without MAPI

I somehow missed when we posted this (here is Paul’s announcement), but the PST File Format Specification has been published. This should be everything you need to know to write parsers capable of reading and writing PST files without involving any pesky MAPI providers. Enjoy!


Can’t CopyTo a PST

We recently had a customer who was copying messages around using CopyTo. They found that for certain messages, if the target message store was a PST, they’d get MAPI_E_NO_ACCESS (0x80070005). They saw this for the same messages every time, when other messages would copy to the same PST just fine. When I debugged the failure,…


Inside the PST

As Paul Thurrott notes, we just announced that we’re documenting the PST file structure. I haven’t decided yet if I’ll be writing a standalone parser/viewer/validator, but I’m sure I’ll be adding some interesting stuff to MFCMAPI. I’ll let you know when I know more.


Detecting Sharepoint PSTs

We had a customer recently who was asking how to tell a PST had been configured as a Sharepoint PST, so they could exclude it from some processing they were doing. After some digging, I found the property that Outlook itself uses to determine a PST is a Sharepoint PST, and development gave me permission…


But I Really Need To Open 500 PSTs!

Today we’re revisiting an issue I first encountered in Outlook 2003. We had a customer, a law firm, who kept all the mail associated with a particular case in a PST. Their users would pass these PSTs around, and depending on their case load, a single user might have over 100 PSTs open at the…


Unaligned Data and the PST Provider Redux

Just wanted to note that the April Cumulative Update for Outlook 2007 fixes the unaligned data issue with the PST provider. So passing a statically allocated NULL string as a PST password should no longer be a problem. BTW – Outlook’s update isn’t listed in the overview article for the April Update. This is because…