Major Objects

Topic Last Modified: 2008-08-05

This topic provides information about the types of things to which the different technologies provide programmatic access.

Technology What things does the technology affect?

Active Directory Services Interfaces (ADSI)

ADSI objects abstract computers, users, user groups, printers, sessions, services, and other network resources, as well as the Active Directory® directory service schema.

Collaboration Data Objects for Windows 2000 (CDOSYS)

CDOSYS provides the following COM/Automation-compatible classes that represent messages and their parts: Messages, Message, BodyPart, BodyParts, Configuration, and DropDirectory. CDOSYS also defines the COM interfaces that SMTP and NNTP protocol events must implement to function properly.

CDOSYS SMTP/NNTP Event Sinks

Applications that use SMTP and NNTP event sinks implement COM classes that have the appropriate Collaboration Data Objects (CDO) event interfaces. Event interfaces are available for SMTP OnArrival events and NNTP OnPostEarly, OnPost, and OnPostFinal events.

Collaboration Data Objects for Exchange 2000 Server (CDOEX)

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.

Collaboration Data Objects for Exchange Management (CDOEXM)

CDOEXM provides COM/Automation-compatible objects that represent components of Exchange servers. These include the ExchangeServer, FolderTree, MailboxStoreDB, PublicStoreDB, and StorageGroup classes.

Collaboration Data Objects for Exchange Workflow (CDOWF)

CDOWF provides COM/Automation-compatible objects that support workflow processes. These include ProcessDefinition, ProcessInstance, and WorkflowSession. Custom events used in workflow processes are implemented by means of the Exchange store events interfaces.

Exchange OLE DB Provider (ExOLEDB)

ExOLEDB is not typically used as an object model, but as an OLE Database Provider, with ActiveX® Data Objects (ADO). ExOLEDB does expose an OLE DB version 2.5 object model that allows direct access without the overhead of ADO.

Exchange Store Event Sinks

Applications that use Exchange store events register those events to be fired when specified events occur on the folder or item in the Exchange store. The API interfaces defined for events specify the calling conventions used by the Exchange store when events are fired. The code that implements the events must present those interfaces.

Exchange Web Forms

The Exchange form renderer provides objects that represent the form elements and their properties on the Web page. In addition, applications built using Exchange Web forms and ASP have access to the typical ASP objects, as well as the ability to create COM object instances.

Exchange Web Services

Exchange Web Services does not directly provide objects. You can use the .NET framework to create objects that can consume the Exchange Web Services.

HTTP/Web Distributed Authoring and Versioning (WebDAV)

WebDAV is a protocol, not an object model. Applications that use WebDAV can use the .NET Framework System.Net.HttpWebRequest object, Microsoft.HTTPRequest, or other HTTP request objects.

WebDAV Notifications

WebDAV notifications do not present any objects.

Incremental Change Synchronization (ICS)

ICS consists of three interfaces: IExchangeExportChanges, IExchangeImportHierarchyChanges, and IExchangeImportContentChanges. Applications obtain these interfaces by using the MAPI OpenProperty function on the PR_HIERARCHY_SYNCHRONIZER and PR_CONTENTS_SYNCHRONIZER properties.

Lightweight Directory Access Protocol (LDAP)

LDAP is a protocol, not an object model. Applications that use LDAP typically use ADSI to access information in a directory service.

Messaging Application Programming Interface (MAPI)

MAPI objects are all obtained through the IMAPISession object. The session object provides the client access to objects for working with MAPI profiles, status, message service provider administration, message store tables, and address books. The message store table contains objects for the message store, folders, messages, attachments, and recipients. The address book tables contain objects for messaging users and distribution lists.

Outlook Object Model (OOM)

The top-level OOM objects represent the Outlook application, Inspectors, Reminders, and other settings. Messages, tasks, contacts, and other Exchange-related items appear under the Namespace object, which contains AddressLists, SyncObjects, and PropertyPages. The folders object contains a collection of items, each of which can have other objects appropriate to the type of item.

Outlook Web Access

Outlook Web Access does not expose COM objects, or provide an object hierarchy. Instead, you can obtain the components of Outlook Web Access by using a URL. You register forms and user interface extensions using XML configuration files.

Exchange Rules

Exchange rules use two top-level objects: the Rules collection and an object for an individual Rule. Alternatively, the IExchangeModifyTable can be used to work with folder rules.

SMTP Event Sinks

The event architecture is based on the Component Object Model (COM). Sinks registered to handle events are simply COM objects that expose the appropriate COM interfaces. When a particular event occurs, the service creates an instance of the event sink COM class, requests to the appropriate interface, and executes the event method. To allow for high performance, multi-threaded sinks, the framework allows for either synchronous or asynchronous sink processing. The message being transferred through the SMTP service is packaged in a MailMsg COM object for use by the event sink.

Windows Management Instrumentation (WMI) providers for Exchange

Instances provided by the Exchange WMI providers include: ExchangeClusterResource, ExchangeConnectorState, ExchangeLink, ExchangeQueue, ExchangeServerState, Exchange_DSAccessDC, Exchange_FolderTree, Exchange_Link, Exchange_Logon, Exchange_Mailbox, Exchange_MessageTrackingEntry, Exchange_PublicFolder, Exchange_Queue, Exchange_QueueCacheReloadEvent, Exchange_QueueSMTPVirtualServer, Exchange_QueueVirtualServer, Exchange_QueueX400VirtualServer, Exchange_QueuedMessage, Exchange_QueuedSMTPMessage, Exchange_QueuedX400Message, Exchange_SMTPLink, Exchange_SMTPQueue, Exchange_ScheduleInterval, Exchange_Server, Exchange_X400Link, and Exchange_X400Queue

Exchange Backup and Restore API

The Exchange Backup and Restore API is a non-dual dynamic-link library (DLL), and it exposes a single interface with no objects.

Exchange writer for the Windows Volume Shadow Copy Service

Applications that use VSS to back up and restore whole storage volumes use COM objects and interfaces that include the following: IVssAsync, IVSSBackupComponents, IVssComponent, IVssCreateWriterMetadata, IVssEnumObject, IVssExamineWriterMetadata, IVssWMComponent, IVssWMDependency, IVssWMFiledesc, IVssWriterComponents, and IVssWriterComponentsExt.