Share via


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 removed

  • Anonymous
    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

  1. after Windows restart?
  2. Process restart?
  3. unloading/reloading olmapi32.dll?
  4. 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 SetAddressBook

  • Anonymous
    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.aspx

  • Anonymous
    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.