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:
PidLidAppointmentColor ([MS-OXPROPS] section 2.9)
PidLidGlobalObjectId (section 2.2.1.27)
PidLidCleanGlobalObjectId (section 2.2.1.28)
PidLidMeetingWorkspaceUrl (section 2.2.1.48)
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.