Working with MAPI and Other Providers
MAPI service providers of any kind must follow certain guidelines to work with other MAPI components. Each service provider must:
-
Use the proper provider and logon objects for initialization.
-
Return a dispatch table of provider entry points to the messaging system upon initialization.
-
Register a MAPI status table row for each resource owned by the provider and call the IMAPISupport::ModifyStatusRow method at appropriate times.
-
Use the IMAPISupport::NewUID method to obtain valid unique identifiers (UIDs).
-
Support the common MAPI interfaces on objects it returns.
-
Use the MAPI memory allocation functions to allocate memory returned to client applications and to release memory allocated by other parts of the MAPI subsystem.
-
Maintain a profile section, if necessary, to store credentials to the underlying messaging system.
-
Use the IMAPISupport::RegisterPreprocessor method to register any message preprocessing functions.
-
Include the proper header files (including MAPISPI.H) that define common constants, structures, interfaces, and return values.
-
Follow address format conventions for common address types.