3.1.4.3 Copying a Calendar Object

To copy a Calendar object, the client creates a new Calendar object in the target folder by using the RopCreateMessage ROP ([MS-OXCROPS] section 2.2.6.2) and then copies all properties from the original object onto the new Calendar object, with the exception of the following properties. Note that a copy of a Calendar object is a static copy of the original. When the source object is a meeting, the new copy will not be updated with any future changes made by the organizer.

The following properties MUST NOT be copied onto the new object:

These four properties are set according to the descriptions in the sections referenced as though the Calendar object was just created.

If the Calendar object to be copied is a Meeting object, the following actions MUST be taken by the client:

  • The auxApptFlagCopied flag is added to the value of the PidLidAppointmentAuxiliaryFlags property (section 2.2.1.3) on the new object.

  • The asfReceived flag SHOULD be added to the value of the PidLidAppointmentStateFlags property (section 2.2.1.10) on the new object.<34>

In addition:

  • The value of the PidLidFInvited property (section 2.2.4.4) on the new object MUST be set to FALSE.

  • The value of the PidTagOwnerAppointmentId property (section 2.2.1.29) on the new object MUST be set to 0x00000000.

  • The RecipientRow structures ([MS-OXCDATA] section 2.8.3) SHOULD be copied onto the new object.<35>

  • The PidLidResponseStatus property (section 2.2.1.11) SHOULD<36> be set to "respNotResponded" (0x00000005).

  • The PidTagSubjectPrefix property ([MS-OXCMSG] section 2.2.1.9) SHOULD<37> be set to a localized string indicating the meeting is a copy.