New Outlook Docs
The January '08 refresh for the Outlook 2007 Auxiliary Reference is now live. In addition to a general scrub over most of the topics, there are some interesting new topics added, such as:
Timezone/rebasing docs: https://msdn2.microsoft.com/en-us/library/bb820976.aspx and https://msdn2.microsoft.com/en-us/library/cc160684.aspx
Protecting open PST files when you crash: https://msdn2.microsoft.com/en-us/library/cc160695.aspx
Rules processing in the wrapped PST: https://msdn2.microsoft.com/en-us/library/bb820947.aspx
Additionally, my update to the wrapped PST has been incorporated.
Enjoy!
Comments
Anonymous
January 30, 2008
Would MAPICrashRecovery also also immediately release PST file handles so that I can open them?Anonymous
January 31, 2008
The comment has been removedAnonymous
January 31, 2008
Just so that I understand how this works: calling MAPICrashRecovery affects all active MAPI sessions in the current process, right? Or is it all processes for the current Windows user? When is the first time I will be able to open the PST files again? Is it
- after Windows restart?
- Process restart?
- unloading/reloading olmapi32.dll?
- Opening a new MAPI session in the same process?
Anonymous
January 31, 2008
If MAPICRASH_SYSTEM_SHUTDOWN is used it would affect all processes (though perhaps only all processes in the current current Windows session), but it should only be used when shutting down the system. So you wouldn't want to touch the PST until restart. If only MAPICRASH_RECOVER is used, then your app can't touch the PST until MAPICRASH_CONTINUE is passed. I expect other apps which have a shared session accessing the PST would still be able to work with the PST. The UnhandledExceptionFilter from the example illustrates the expected usage.Anonymous
February 08, 2008
For the UnhandledExceptionFilter() sample, it works in Outlook 2003, but does not work in Outlook 2007. The problem is the filter installed by SetUnhandledExceptionFilter() is not invoked when an unhandled exception happened in Outlook 2007. Does Outlook 2007 enforce this?? Is this expected behavior for Outlook 2007? If so, WHY? And how can we use the MAPICrashRecovery() in the way suggested in the sample? Or, it this a bug in Outlook 2007?Anonymous
February 08, 2008
The version of Outlook doesn't matter here. This should be the unhandled exception filter for your process that you're registering. Essentially, you're trying to keep a crash in your code from trashing a PST. I don't think you should be setting an unhandled exception filter as an add-in to Outlook.Anonymous
February 08, 2008
Thank you Steve. It's clearer now. So the MAPICrashRecovery() is not intended to be used by third party store provider which wraps PST as its backend. I was think that if a store provider backed by PST crashes Outlook, this is a way to ensure that the PST is in a consistent state.Anonymous
February 08, 2008
In the case of a wrapped PST, Outlook's own unhandled exception filter will be calling MAPICrashRecovery.Anonymous
March 03, 2008
Does not seem that updated IConverter docs made it to the refresh. At least, http://msdn2.microsoft.com/en-us/library/aa192944(office.11).aspx still does not have a reference to SetAddressBookAnonymous
March 03, 2008
You're looking in the 2003 integration API. We updated the 2007 Auxilliary Reference. Here's what you're looking for: http://msdn2.microsoft.com/en-us/library/bb821178.aspxAnonymous
March 13, 2008
As for wrapped PST. Can we use this call it from inside unloading provider to protect PST trashing? Just to be sure if some third party code have not released MAPI object references. As for UnhandledExceptionFilter it seem Outlook 2007 hooks SetUnhadledExceptionFilter and prohibits setting third party filters.Anonymous
March 13, 2008
You should only be using this in your own processes where you load MAPI. Outlook will handle this for it's own process.