Platform SDK: MAPI

Creating a Minimal Transport Provider

Since every preprocessor must be registered by a transport provider, you may need to create a minimal transport provider whose sole task is to register your preprocessor. A minimal transport provider does not advertise any address types to the MAPI spooler, so the MAPI spooler will never call the transport provider to send or receive messages.

To create a minimal transport provider

  1. Create a transport provider with the minimum required interfaces for transport providers. Many of the methods and interfaces used by transport providers can be implemented as stubs that do nothing or return MAPI_E_NO_SUPPORT. The minimal transport provider should initialize as recommended in the topic Required Functionality for Transport Providers. In response to the IXPLogon::AddressTypes call, the transport provider should return a single zero-length string in lpppszAdrTypeArray and NULL in lpppUIDArray.
  2. Create a MAPISVC.INF fragment for the transport provider and the message service that contains it. See Implementing a Message Service.
  3. Optionally, but strongly recommended, create a message service entry point for configuration. See Implementing a Service Provider Entry Point Function.
  4. Optionally, create an online Help file linked to your configuration property pages, wizard pages, or both, providing full details about all configuration options.
  5. Optionally, create a header file for custom programmatic configuration by MAPI clients.
  6. Optionally, create a WizardEntry entry point for interactive configuration by users. See Supporting Message Service Configuration.
  7. Optionally, create a .PRF file detailing configuration properties for the message service.

For more details about transport providers, see Developing a Transport Provider and the quick start topic Creating and Configuring a Profile.