[This is now documented here: http://msdn.microsoft.com/en-us/library/bb821125.aspx]
(Now that Outlook 2007 is available I'm reposting some of the articles from the Outlook 2007 Beta Documentation series. Some of the articles are virtually unchanged, others are completely different to reflect the differences between Beta and RTM. This article finishes the rewrite of Outlook 2007 Beta Documentation - Notification Based Indexing Support.)
The MAPI PH consults the registry to determine which MAPI providers should be indexed. Any provider not listed in the registry will not be indexed by the MAPI PH.
Outlook adds the following 4 providers to the registry to enable indexing if the policy allows it:
Third party providers which wish to be indexed will need to list themselves in the registry.
The MAPI PH will check the following registry values:
Only one value has to be set and they are checked in the order shown above.
When the MAPI PH is installed, the default providers are configured as follows:
Windows Registry Editor Version 5.00
The guids shown are the PR_MDB_PROVIDER properties for the stores. The first three provider guids have previously been documented in header files as MSPST_UID_PROVIDER, pbExchangeProviderPrimaryUserGuid, and pbExchangeProviderPublicGuid.
For a third party non-pusher store provider, is it enough to just put its PR_MDB_PROVIDER in the registry to be indexed by the MAPI PH?
Does MAPI PH crawl every registered stores when a profile is loaded in Outlook 2007? Or, does the profile need to be the default profile in order to be indexed by MAPI PH?
How does this affect the Instant Search behavior of Outlook 2007? I tried to register my store provider in the registry, but most times Instant Search does not return any results. Also the "Indexing Status" does not display correct information... However, after I remove the store from the registry, the search works again?