This documentation is archived and is not being maintained.

Calendar Object Model

EWS Managed API

Topic Last Modified: 2009-07-27

Collaboration Data Objects (CDO) objects provide the necessary logic to work with appointments, meetings, messages, and other calendaring items. These objects make it easier for you to write calendaring applications. For an overview diagram, see CDO for Exchange 2000 Server Objects.

In CDO, the Appointment object represents appointments and meetings. Meetings have attendees, each represented by an Attendee object in the Attendees collection.

Recurring appointments and meetings are those that occur more than once and follow a pattern. A pattern is defined by using one or more RecurrencePattern objects in the Appointment object's RecurrencePatterns collection. The Exception objects in the Exceptions collection define modifications to the pattern.

You invite attendees to a meeting and attendees respond to the invitation by using messages represented by CalendarMessage objects. These messages are also used to update or cancel an existing appointment. The CalendarMessage object exposes the IMessage interface; therefore, a calendar message has all of the capabilities of any other CDO message.

The CalendarMessage object encapsulates information about one or more appointments in CalendarPart objects in the CalendarParts collection. When you process calendar messages, you extract the Appointment objects from the CalendarPart objects.

Appointment objects can have attachments. Each attachment is a BodyPart object in the appointment's Attachments collection.

Microsoft® Exchange Server 2007 stores the free/busy status of each calendar user in a special public folder. You can use the Addressee object to verify user names in the directory and to get a user's free/busy status.

The Configuration object stores information, such as the location of the user's calendar folder and the identity of the user. In general, you need to associate a Configuration object with each Appointment and CalendarMessage object.

Show: