Collaboration Data Objects for Exchange 2000 Server (CDOEX)

Collaboration Data Objects for Exchange 2000 Server (CDOEX)

This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release. This topic provides information about using 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 only be run 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, 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 that user-focused applications work with. These include the Person (contact), Addressee, Appointment, Attendee, CalendarMessage, Configuration, DropDirectory, Folder, Item, and Message classes.
Data Access Model Mixed: collections of some object types can be accessed as ADO row sets using the Data Source object. The individual rows represent other CDOEX objects.
Threading Models No specific threading prohibitions. However, applications that use free-threading should never share CDOEX object instances among asynchronously operating threads.
Application Architectures Typical uses are for advanced access to a user's messages and other information stored in Exchange, implemented via an ASP application running on a server on which Exchange is installed.
Remote Usage CDOEX is not supported for remote use.
Transactions No.
Management Capabilities CDOEX does not generate Windows 2000 Event Log entries, and no performance counters are available to measure it.
Availability Currently shipping with Exchange 2000 Server and Exchange Server 2003. No changes are anticipated at this time.

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.
Scriptable 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 are available that describe programming for Exchange by using CDOEX. In addition, CDOEX is documented in the Exchange 2000 Server SDK and the Exchange Server 2003 SDK. Use the documentation appropriate to the version of Exchange you are developing for. To access the Exchange 2000 Server and the Exchange Server 2003 SDKs, see Microsoft Exchange Server Online link on MSDN.
Developer/Deployment Licensing Refer to your Exchange and MSDN subscription licensing agreements to determine whether additional licenses are required for the computers where your CDOEX applications are developed and deployed.

Security Criteria

Criteria Collaboration Data Objects for Exchange 2000 Server (CDOEX)
Design-Time Permissions Depending on the development environment and configuration being used, developers may need Exchange administrative permissions for the servers they are working with. Use caution when granting anyone 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 Depending on the application architecture, special permissions might be required to access mailboxes and other user data, if the user cannot pass compatible credentials to the application. 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 None

Deployment Criteria

Criteria Collaboration Data Objects for Exchange 2000 Server (CDOEX)
Server Platform Requirements CDOEX must be run on a computer running Exchange 2000 Server or Exchange Server 2003. CDOEXM must have access to Active Directory for locating and modifying user data stored there.
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 via HTTP or other 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

Send us your feedback about the Microsoft Exchange Server 2003 SDK.

This topic last updated: June 2006

Build: June 2007 (2007.618.1)

© 2003-2006 Microsoft Corporation. All rights reserved. Terms of use.