Last modified: July 23, 2011

Applies to: Outlook

Conveys options to the MAPIInitialize function.

Header file:


typedef struct
  ULONG ulVersion;
  ULONG ulFlags;


An integer value that represents the version number of the MAPIINIT_0 structure. The ulVersion member is for future expansion and does not represent the version of the MAPI interface. Currently, ulVersion must be set to MAPI_INIT_VERSION.


The bitmask of flags used to control the initialization of the MAPI session. The following flags can be set:


MAPI should generate notifications using a thread dedicated to notification handling instead of the first thread used to call MAPIInitialize.


The caller is running as a Windows service. Callers that are not running as a Windows service should not set this flag; callers that are running as a service must set this flag.


Set the MAPI_NO_COINT flag so that MAPIInitialize does not try to initialize COM with a call to CoInitialize. If a MAPIINIT_0 structure is passed into MAPIInitialize with ulFlags set to MAPI_NO_COINIT, MAPI will assume that COM has already been initialized and will bypass the call to CoInitialize.

Multithreaded clients should set the MAPI_MULTITHREAD_NOTIFICATIONS flag. If the flag is not set, notifications are generated on the thread used to make the first call to MAPIInitialize.

For more information about when to set this flag and how to implement thread safety in a client, see Threading in MAPI.