MAPI-compliant client applications can run in multiple environments, depending on the environment used for development. A client written in a 16-bit development environment can operate either in a native 16-bit Windows environment or in any 32-bit environment under 16-bit compatibility mode. Compatibility mode allows a 16-bit application to simulate a 32-bit application. A client written in a 32-bit development environment can run on any 32-bit operating system, such as Windows NT or Windows 95.
The environment into which a client installs the MAPI SDK affects the scope of usable service providers. If the MAPI SDK is installed in a generic 32-bit environment or in the 16-bit compatibility mode environment, a client can use two types of service providers:
Single-source service providers are built with a single set of source files. This set of source files can be used to build binaries that will run in any environment.
If the MAPI SDK is installed in a 16-bit environment, a client can use only a 16-bit service provider.