CDOEX Evaluation Criteria

Topic Last Modified: 2008-09-03

This topic provides information about how to use Collaboration Data Objects for Exchange 2000 Server (CDOEX) to develop messaging applications.

CDOEX provides the fundamental Component Object Model (COM) classes and interfaces that are used to manage most types of information in the Exchange store. CDOEX provides a superset of the functionality provided by CDO for Windows 2000.


CDOEX can be run only on a computer on which Exchange has been installed. On a computer on which Exchange is installed, CDOEX replaces CDOSYS. Exchange must be running to access the CDOEX-specific functionality. However, applications can use the basic CDOSYS functionality without Exchange.

Functional Criteria

Criteria Collaboration Data Objects for Exchange 2000 Server(CDOEX)

Application Domain

CDOEX is used in applications that use messaging to send and process e-mail messages, calendar, and contact information, as well as allowing programmatic access to mailbox and public folders. Note that CDOEX can only be run from a computer on which Exchange has been installed.

Major Objects

CDOEX provides COM/Automation-compatible objects that represent items with which user-focused applications work. These objects include the person (contact), addressee, appointment, attendee, CalendarMessage, configuration, DropDirectory, folder, item, and message classes.

Data access model

Collections of some object types are mixed and can be accessed as ADO row sets by using the Data Source object. The individual rows represent other CDOEX objects.

Threading Models

There are no specific threading prohibitions. However, applications that use free-threading should never share CDOEX object instances among asynchronously operating threads.

Application Architecture

Typical uses are for advanced access to a user's messages and other information stored in Exchange, or implemented via an ASP application running on a server on which Exchange is installed.

Remote Usage

CDOEX is not supported for remote use.



Management Capabilities

CDOEX does not generate Windows 2000 Event Log entries, and no performance counters are available to measure it.


Exchange 2000 Server and Exchange Server 2003 are currently shipping at this time. Currently, no changes are anticipated.

Development Criteria

Criteria Collaboration Data Objects for Exchange 2000 Server(CDOEX)

Languages and Tools

CDOEX can be used with any COM/Automation-compatible language, as well as with non-COM languages such as C/C++.

Managed Implementation

CDOEX is an unmanaged component. Use of CDOEX is supported under the COM Interoperability layer of Visual Studio .NET and the .NET Framework.


CDOEX is scriptable by means of ASP and Windows Scripting Host.

Test/Debug Tools

No special debugging tools are needed to debug applications that use CDOEX.

Expert Availability

Most developers should have little or no trouble using CDOEX. Microsoft and several third-party Web sites provide community discussions to help CDOEX developers.

Available Information

Microsoft and third-party books that describe programming for Exchange by using CDOEX are available. In addition, CDOEX is documented in the Exchange 2000 Server SDK and in the Exchange Server 2003 SDK. Use the documentation appropriate for which the version of Exchange you are developing is available. To access the Exchange 2000 Server and the Exchange Server 2003 SDKs, see the Exchange Server Developer Center.

Developer/Deployment Licensing

To determine whether additional licenses are required for the computers where your CDOEX applications are developed and deployed, refer to your Exchange and MSDN subscription licensing agreements.

Security Criteria

Criteria Collaboration Data Objects for Exchange 2000 Server(CDOEX)

Design-Time Permissions

Depending on the development environment and configuration being used, developers might need Exchange administrative permissions for the servers with which they are working. Use caution when granting anyone with unrestricted access to user mailboxes and Exchange system configuration settings.

Setup Permissions

Because applications that use CDOEX must run on the Exchange server, the user setting up the application must have permissions to install software on the server. In addition, if Setup makes changes to Exchange, the user must have permission to access that data or make the configuration changes.

Run-Time Permissions

If the user cannot pass compatible credentials to the application, special permissions might be required to access mailboxes and other user data, depending on the application architecture. It is recommended that user credentials be verified by the application when attempting to access information in Exchange.

Built-in Security Features

CDOEX uses the underlying Microsoft Windows 2000 (or Windows Server 2003) security features.

Security Monitoring Features


Deployment Criteria

Criteria Collaboration Data Objects for Exchange 2000 Server (CDOEX)

Server Platform Requirements

CDOEX must be run on a computer that is running Exchange 2000 Server or Exchange Server 2003. CDOEXM must have access to Active Directory for locating and modifying stored user data.

Client Platform Requirements

If the application client uses CDOEX directly, the client must be run on the Exchange server. If the client accesses the application middle-tier by HTTP or another network protocol, there are no special client requirements, except those defined by the application. The application middle-tier must be run on the Exchange server.

Deployment Methods

If the client or application being installed needs direct access to CDOEX, the installer should verify that the computer is an Exchange server, and that CDOEX is properly installed on the computer.

Deployment Notes