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 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.
|