Development Features of Exchange Server 2003


Topic Last Modified: 2006-08-16

Microsoft® Exchange Server 2003 contains important changes and additions for developers. You can find complete information about these changes in the Microsoft Exchange Server 2003 Software Development Kit (SDK). In addition, the following sections briefly describe the major changes.

The following are new development technologies for Exchange Server 2003.

The Windows Management Instrumentation (WMI) providers and classes that ship with Exchange 2000 Server provide operational status about Exchange servers, queues, links, and so on, and are intended for use in applications that monitor Exchange.

Exchange Server 2003 includes many new and improved WMI classes that are designed for use in Exchange management scripts and operator consoles. The new object classes support managing Exchange stores, public folders, user mailboxes, connectors, queues, links, and so on. The following table lists the new WMI classes.

New WMI Classes

WMI class Changes

ExchangeClusterResource Class

No change.

ExchangeConnectorState Class

No change.

ExchangeLink Class

No change. Additional capabilities are provided in the new Exchange_Link class.

ExchangeQueue Class

No change. Additional capabilities are provided in the new Exchange_Queue class.

ExchangeServerState Class

No change. Additional capabilities are provided in the new Exchange_Server class.

Exchange_DSAccessDC Class

No changes.

Exchange_FolderTree Class

New class.

Exchange_Link Class

New class.

Exchange_Logon Class

New class.

Exchange_Mailbox Class

New class.

Exchange_MessageTrackingEntry Class

Additional message tracking entry type values were added to provide more detailed tracking of internal message-transfer events.

Exchange_PublicFolder Class

New class.

Exchange_Queue Class

New class.

Exchange_QueueCacheReloadEvent Class

New class.

Exchange_QueueData Class

New class.

Exchange_QueuedMessage Class

New class.

Exchange_QueuedSMTPMessage Class

New class.

Exchange_QueuedX400Message Class

New class.

Exchange_QueueSMTPVirtualServer Class

New class.

Exchange_QueueVirtualServer Class

New class.

Exchange_QueueX400VirtualServer Class

New class.

Exchange_ScheduleInterval Class

New class.

Exchange_Server Class

New class.

Exchange_SMTPLink Class

New class.

Exchange_SMTPQueue Class

New class.

Exchange_X400Link Class

New class.

Exchange_X400Queue Class

New class.

You can find the code for the managed wrappers, along with the accompanying technical article, Writing Managed Sinks for SMTP and Transport Events, at

The following development technologies are supported on Exchange Server 2003.

  • CDO for Exchange 2000 (CDOEX). CDOEX cannot be used remotely.

  • ADO access using the Exchange OLEDB provider (ExOLEDB). ExOLEDB cannot be used remotely.

  • ADO access using Microsoft Data and Internet Publishing Provider (MSDAIPP). MSDAIPP can be used anywhere that it is installed, except for on an Exchange Server 2003 computer. MSDAIPP is not supported for use on the Exchange server itself.

  • CDO for Exchange Management (CDOEXM). CDOEXM can only be used on a computer running the full installation of Exchange Server 2003 or a computer running the Admin-only installation of Exchange Server 2003.

  • CDO 1.2x, both server and client.

  • HTTP and WebDAV.

  • MAPI (extended MAPI). For deprecated MAPI technologies, see "Deprecated MAPI Technologies" later in this topic.

  • Exchange Server version 5.5 event agent service. This service is supported, but disabled by default in Exchange Server 2003.

  • ExOLEDB store events.

  • Transport events.

  • MAPI notifications.

  • WebDAV notifications.

  • Incremental Change Synchronization (ICS).

  • Exchange Web Forms.

  • Exchange 2000 Server workflow.

  • Exchange 5.5 routing engine. Samples provided in the Exchange 5.5 Exchange Development Kit (EDK) are not supported.

  • Exchange 2000 Server WMI providers.

  • Virus Scanning API (VSAPI) version 2.5.

  • Backup and Restore API.

For information about what is supported and not supported for developing .NET applications for Exchange Server 2003, see Microsoft Knowledge Base article 813349, "Support Policy for Microsoft Exchange APIs with .NET Framework Applications."

The installer for Exchange Server 2003 makes numerous changes to the Microsoft Active Directory® directory service classes and attributes to support the new features of Exchange Server 2003. For information about these changes, see the Exchange Server 2003 SDK.

The following Exchange 2000 Server application development-related technologies and features are removed and are not supported in Exchange Server 2003:

  • Microsoft FrontPage® Extensions for Web Storage System Forms

  • Exchange Instant Messaging.

  • Programmatic access to the Exchange store using the M: drive via custom code.

  • SQL Create Index command.

  • Exchange store schema properties for versioning.

  • MSDAIPP on the computer running Exchange Server 2003. Remote access continues to be supported.

The following MAPI technologies, which formerly shipped with Exchange 2000 Server, are not available in Exchange Server 2003:

Simple MAPI

Simple MAPI is a wrapper around 12 high-level Extended MAPI functions that enable a client application to send, address, receive, and reply to messages. On the client, Simple MAPI is used by Microsoft Office to send mail directly from the application. It is only intended for use in the Microsoft Windows environment and offers limited functionality. Anything that can be done with Simple MAPI can also be done with Extended MAPI.

Common Messaging Calls (CMC)

CMC is a wrapper around 10 Extended MAPI functions and was created to abstract the complexities of MAPI and to create an API standard that was supported across platforms. The CMC API was developed in conjunction with the X.400 API Association (XAPIA) standards organization and is only accessible to C/C++ client developers. Anything that can be done with CMC can also be done with Extended MAPI.


Also referred to as CDO 1.2.1 Rendering, this API exposes a set of objects that can be used by Internet Information Services (IIS) to render CDO 1.2x objects and properties into HTML output. CDO 1.2.1 Rendering (CDOHTML.DLL) was intended for server-side use only.