Platform SDK: Exchange 2000 Server

The Calendar Object Model

[This is preliminary documentation and subject to change.]

The following figure shows the calendaring parts of the CDO object model.

CDO objects provide the necessary logic to work with appointments, meeting, messages, and other calendaring items. These objects make it easier for you to write calendaring applications.

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 occur more than once following a pattern. A pattern is describesd by one or more RecurrencePattern objects in the 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 using messages represented by CalendarMessage objects. These messages are also used to update or cancel an existing appointment. The CalendarMessage object inherits from the Message object; therefore a calendar message has all of the interfaces and capabilities of any other CDO message.

The CalendarMessage object encapsulates one or more Appointment objects as CalendarPart objects within 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.

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

The Configuration object stores information including 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.