Collaboration Data Objects for Exchange Management (CDOEXM)

Collaboration Data Objects for Exchange Management (CDOEXM)

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 Management (CDOEXM) to develop messaging applications.

Introduction

CDO for Exchange Management (CDOEXM) provides the fundamental Component Object Model (COM) classes and interfaces that are used to manage the Exchange store. Before you can use the CDOEXM objects, the Microsoft® Exchange Administrative Tools must be installed on the computer.

Caveats

CDOEXM can only be run on a computer on which the Exchange Administrative Tools have been installed. The computer running the CDOEXM application and the computer running Exchange must be in the same Active Directory organization.

Important  Because of issues with multiple-hop authentication and unexpected results observed in multithreaded runtime environments, Microsoft® does not support using CDO for Exchange Management (CDOEXM) in Microsoft ASP.NET pages, ASP Web pages or in Web services. To create Web-based Microsoft Exchange management applications that use CDOEXM functionality, Microsoft recommends wrapping CDOEXM in a Distributed Component Object Model (DCOM) package and calling that package from your application.

Functional Criteria

Criteria Collaboration Data Objects for Exchange Management (CDOEXM)
Application Domain CDO for Exchange Management (CDOEXM) is used in administrative applications and scripts to control, examine, and diagnose Exchange servers and stores.
Major Objects CDOEXM provides COM/Automation-compatible objects that represent components of Exchange servers. These include the ExchangeServer, FolderTree, MailboxStoreDB, PublicStoreDB, and StorageGroup classes.
Data Access Model Mixed: collections of some object types can be accessed as ADO rowsets using the DataSource object. The individual rows represent other CDOEXM 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 administrative tools and scripts that use CDOEXM and ADSI to operate on Exchange servers, stores, and folder trees. Applications that use CDOEXM must be run on a computer that has the Exchange Management Tools installed.
Remote Usage CDOEXM can only be run on a computer where the Exchange Administrative Tools are installed.
Transactions No.
Management Capabilities CDOEXM does not generate Windows 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. The CDOEXM version that ships with Exchange Server 2003 must be used when accessing Exchange Server 2003. The Exchange Server 2003 CDOEXM can also be used to access Exchange 2000 Server. The CDOEXM library that ships with Exchange 2000 Server is not supported for accessing Exchange Server 2003.

Development Criteria

Criteria Collaboration Data Objects for Exchange Management (CDOEXM)
Languages and Tools CDOEXM can be used with any COM/Automation-compatible language, as well as with non-COM languages such as C/C++.
Managed Implementation CDOEXM is an unmanaged component. Use if CDO for Exchange Management is supported under the COM Interoperability layer of Visual Studio .NET and the .NET Framework. CDOEXM can only be run on a computer on which Exchange has been installed.
Scriptable CDOEXM is scriptable by means of Windows Scripting Host, but is not supported in ASP or ASP.NET.
Test/Debug Tools No special debugging tools are needed to debug applications that use CDOEXM.
Expert Availability While only moderate development skills are necessary to use CDOEXM, understanding the Exchange and Active Directory topology can require significant study.
Available Information Microsoft and third-party books are available that describe programming for Exchange by using CDOEXM. In addition, CDOEXM 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 Management (CDOEXM)
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 Applications that use CDOEXM must run on either an Exchange server, or on a computer where the Exchange Administrative Tools are installed. The user who is setting up the application must have permissions to install software on that computer. 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 Because CDOEXM controls and configures components of an Exchange server, only Exchange administrators should be permitted to run applications that use CDOEXM. For applications that use CDOEXM from an Exchange administrative console computer, the administrative console computer must be in the same domain as the Exchange server computer.
Built-in Security Features CDOEXM uses the underlying Microsoft Windows® 2000 (or Windows Server™ 2003) security features. Most operations require that the application user security context have Exchange administrative permissions.
Security Monitoring Features None.

Deployment Criteria

Criteria Collaboration Data Objects for Exchange Management (CDOEXM)
Server Platform Requirements CDOEXM can only be run on a computer on which the Exchange Administrative Tools are installed. Both the computer running CDOEXM and the Exchange server being accessed must be in the same Active Directory organization.
Client Platform Requirements CDOEXM can only be run on a computer on which the Exchange Administrative Tools are installed. Both the computer running CDOEXM and the Exchange server being accessed must be in the same Active Directory organization.
Deployment Methods If the client or application being installed needs access to CDOEXM, the installer should verify that the computer contains the Exchange Administrative Tools, and that CDOEXM is properly installed on the computer.
Deployment Notes The CDOEXM version that ships with Exchange Server 2003 must be used when accessing Exchange Server 2003. The Exchange Server 2003 CDOEXM can also be used to access Exchange 2000 Server. The CDOEXM library that ships with Exchange 2000 Server is not supported for accessing Exchange Server 2003.

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.