18.104.22.168.2.2 Creating the Meeting Object
Before creating the Meeting object, the client searches for a Calendar object that matches the Meeting Request object, as specified in section 22.214.171.124, and does not create a new Meeting object if a match is found. Otherwise, the client creates a new Meeting object and copies all the properties specified in section 2.2.1 from the Meeting Request object onto it and adds all the required properties specified in section 2.2.4. The client might change the value of the PidTagMessageClass property ([MS-OXCMSG] section 126.96.36.199) on the new Meeting object to the value of the PidLidAppointmentMessageClass property (section 188.8.131.52) from the Meeting Request object. In addition, the client sets the following properties on the Meeting object:
The value of the PidLidResponseStatus property (section 184.108.40.206) to "respNotResponded" (0x00000005).
The value of the PidLidBusyStatus property (section 220.127.116.11) to "olTentative" (0x00000001), unless the value of the PidLidIntendedBusyStatus property (section 18.104.22.168) is "olFree" (0x00000000), in which case it MUST be set to "olFree".
If the value of the PidLidReminderDelta property ([MS-OXORMDR] section 22.214.171.124) in the Meeting Request object is set to 0x5AE980E1, change the value of the newly created Meeting object's PidLidReminderDelta property to its default value (as defined by the client), and then recalculate the value of the PidLidReminderSignalTime property ([MS-OXORMDR] section 126.96.36.199), as specified in [MS-OXORMDR].
If the value of the PidLidReminderSet property ([MS-OXORMDR] section 188.8.131.52) is FALSE and the value of the PidLidAppointmentSubType property (section 184.108.40.206) is FALSE (that is, the meeting is not an all-day event), then the client SHOULD change the value of the PidLidReminderSet property to TRUE, set the PidLidReminderDelta property to its default value (as defined by the client), and recalculate the value of the PidLidReminderSignalTime property.<43>
The client SHOULD copy the value of the PidLidAppointmentAuxiliaryFlags property (section 220.127.116.11) from the Meeting Request object to the new Meeting object.
The client SHOULD remove the downlevel text, as specified in section 18.104.22.168, from the body.
The client SHOULD<45> copy the RecipientRow structures, as specified in [MS-OXCDATA] section 2.8.3, in the PidLidAppointmentUnsendableRecipients property (section 22.214.171.124) from the Meeting Request object to the RecipientRow structures of the Meeting object. For each RecipientRow structure copied, if the recipOriginal bit is set in the PidTagRecipientFlags property (section 126.96.36.199.1) of the RecipientRow structure, then the client MUST set the recipSendable bit in the PidTagRecipientFlags property.
The client MUST NOT copy the PidLidAppointmentUnsendableRecipients property from the Meeting Request object to the Meeting object.
If the PidLidAppointmentUnsendableRecipients property is not set on the Meeting Request object, or if the client did not copy the RecipientRow structures in the PidLidAppointmentUnsendableRecipients property of the Meeting Request object to the Meeting object, then the client creates a RecipientRow structure for each recipient (2) listed in the PidLidNonSendableTo (section 188.8.131.52 ), PidLidNonSendableCc (section 184.108.40.206), and PidLidNonSendableBcc (section 220.127.116.11) properties. The client sets the recipient type (as specified in section 18.104.22.168.7) for each RecipientRow structure added as specified in section 22.214.171.124, 126.96.36.199, and 188.8.131.52.
The client sets the PidLidNonSendableTo, PidLidNonSendableCc, and PidLidNonSendableBcc properties to a NULL string on the Meeting object.
If the Meeting Request object represents a recurring series and the Meeting object is newly created, the client searches the folder for orphan instances of the meeting by matching the PidLidCleanGlobalObjectId property (section 184.108.40.206) with that of the new Meeting object. The client then converts any orphan instances that are found into exceptions and deletes the orphan instances. For each converted exception, the client SHOULD<46> copy the value of the PidLidBusyStatus property from the orphan instance to the BusyStatus field of the associated ExceptionInfo structure and set the ARO_BUSYSTATUS flag as specified in section 220.127.116.11.2.
Finally, after creating the Meeting object, the client:
MAY<47> set the PidLidServerProcessed property (section 18.104.22.168) on the Meeting Request object to TRUE. If setting the PidLidServerProcessed property, the client either sets both the cpsCreatedOnPrincipal and cpsUpdatedCalItem bits of the PidLidServerProcessingActions property (section 22.214.171.124) on the Meeting Request object or leaves the PidLidServerProcessingActions property unset.