4.2.1 Appointment Example

After making a dentist appointment for 10:00 A.M. (Pacific Daylight Time) on May 1, 2009, Minesh decides to set the information in her Calendar folder so that she will not forget about it. The appointment is an hour long, and she wants to be reminded about it half an hour before it happens. She wants to treat this as a private appointment, which indicates to a client to hide the details from other people. The following is a description of what a client might do to accomplish Minesh's intentions and the responses a server might return.

To create an Appointment object, the client uses the RopCreateMessage ROP ([MS-OXCROPS] section 2.2.6.2). The server returns a success code and a handle to a Message object.

The client then uses the RopSetProperties ROP ([MS-OXCROPS] section 2.2.8.6) to transmit Minesh's data to the server. An example of the data that might be sent by the client is shown in the following table.

Property

Property ID

Property type

Value

PidTagMessageClass ([MS-OXCMSG] section 2.2.1.3)

0x001A

0x001F (PtypString ([MS-OXCDATA] section 2.11.1.2))

IPM.Appointment

PidTagIconIndex (section 2.2.1.49)

0x1080

0x0003 (PtypInteger32 ([MS-OXCDATA] section 2.11.1))

0x00000400

PidTagSensitivity ([MS-OXCMSG] section 2.2.1.13)

0x0036

0x0003 (PtypInteger32)

0x00000002 (SENSITIIVITY_PRIVATE)

PidLidPrivate ([MS-OXCMSG] section 2.2.1.15)

0x82EF

0x000B (PtypBoolean ([MS-OXCDATA] section 2.11.1))

0x01 (TRUE)

PidLidSideEffects ([MS-OXCMSG] section 2.2.1.16)

0x8002

0x0003 (PtypInteger32)

0x00000171

PidLidCommonStart ([MS-OXCMSG] section 2.2.1.18)

0x81BC

0x0040 (PtypTime ([MS-OXCDATA] section 2.11.1))

0x01C9CA7E43442800

(2009/05/01 17:00:00.000)

PidLidCommonEnd ([MS-OXCMSG] section 2.2.1.19)

0x81BB

0x0040 (PtypTime)

0x01C9CA86A5089000

(2009/05/01 18:00:00.000)

PidLidReminderSet ([MS-OXORMDR] section 2.2.1.1)

0x8004

0x000B (PtypBoolean)

0x01 (TRUE)

PidLidReminderDelta ([MS-OXORMDR] section 2.2.1.3)

0x81FF

0x0003 (PtypInteger32)

0x0000001E (30)

PidLidReminderTime ([MS-OXORMDR] section 2.2.1.4)

0x8005

0x0040 (PtypTime)

0x01C9CA7E43442800

(2009/05/01 17:00:00.000)

PidLidReminderSignalTime ([MS-OXORMDR] section 2.2.1.2)

0x8006

0x0040 (PtypTime)

0x01C9CA7A1261F400

(2009/05/01 16:30:00.000)

PidLidBusyStatus (section 2.2.1.2)

0x81B6

0x0003 (PtypInteger32)

0x00000002 (olBusy)

PidLidLocation (section 2.2.1.4)

0x8009

0x001F (PtypString)

My Dentist's Office

PidLidAppointmentColor ([MS-OXPROPS] section 2.9)

0x82CA

0x0003 (PtypInteger32)

0x00000000

PidLidAppointmentStateFlags (section 2.2.1.10)

0x81B3

0x0003 (PtypInteger32)

0x00000000

PidLidAppointmentAuxiliaryFlags (section 2.2.1.3)

0x82D2

0x0003 (PtypInteger32)

0x00000000

PidLidAppointmentSubType (section 2.2.1.9)

0x8120

0x000B (PtypBoolean)

0x00 (FALSE)

PidLidResponseStatus (section 2.2.1.11)

0x8122

0x0003 (PtypInteger32)

respNone

(0x00000000)

PidLidFInvited (section 2.2.4.4)

0x81da

0x000B (PtypBoolean)

0x00 (FALSE)

PidLidAppointmentDuration (section 2.2.1.7)

0x81a9

0x0003 (PtypInteger32)

0x0000003C (60)

PidLidAppointmentStartWhole (section 2.2.1.5)

0x81b2

0x0040 (PtypTime)

0x01C9CA7E43442800

(2009/05/01 17:00:00.000)

PidLidAppointmentEndWhole (section 2.2.1.6)

0x81ac

0x0040 (PtypTime)

0x01C9CA86A5089000

(2009/05/01 18:00:00.000)

PidLidClipStart (section 2.2.1.14)

0x81BA

0x0040 (PtypTime)

0x01C9CA7E43442800

(2009/05/01 17:00:00.000)

PidLidClipEnd (section 2.2.1.15)

0x81B9

0x0040 (PtypTime)

0x01C9CA86A5089000

(2009/05/01 18:00:00.000)

PidLidRecurrenceType (section 2.2.1.45)

0x81FE

0x0003 (PtypInteger32)

0x00000000

PidLidRecurring (section 2.2.1.12)

0x81FD

0x000B (PtypBoolean)

0x00 (FALSE)

PidLidTimeZoneDescription (section 2.2.1.40)

0x8213

0x001F (PtypString)

(GMT-08:00) Pacific Time (US & Canada)

PidLidAppointmentTimeZoneDefinitionStartDisplay (section 2.2.1.42)

0x83A8

0x0102 (PtypBinary ([MS-OXCDATA] section 2.11.1))

See paragraph marked *1 following this table.

PidLidAppointmentTimeZoneDefinitionEndDisplay (section 2.2.1.43)

0x83A9

0x0102 (PtypBinary)

See paragraph marked *1 following this table.

PidLidGlobalObjectId (section 2.2.1.27)

0x81E0

0x0102 (PtypBinary)

See paragraph marked *2 following this table

PidLidCleanGlobalObjectId (section 2.2.1.28)

0x81B8

0x0102 (PtypBinary)

See paragraph marked *2 following this table

*1 The start and end dates for this appointment are both set in the same time zone. For an example of this time zone definition BLOB, see section 4.1.4. The time zone data for this appointment is as follows:

 cb: 184
 lpb:
 0201300002001500500061006300690066006900630020005300740061006E0064006100720064002000540069006D006500020002013E000000D6070000000000000000000000000000E001000000000000C4FFFFFF00000A000000050002000000000000000000040000000100020000000000000002013E000200D7070000000000000000000000000000E001000000000000C4FFFFFF00000B0000000100020000000000000000000300000002000200000000000000

*2 This appointment is a single instance, so the value of the PidLidGlobalObjectId and PidLidCleanGlobalObjectId properties are the same. For an example of the Global Object ID BLOB, see section 4.1.2. The value for this appointment is as follows:

  
 cb: 56
 lpb: 040000008200E00074C5B7101A82E0080000000020631F30F072C801000000000000000010000000D97737CAB6762A43BFF793851D08DB16

After setting all property values, the client can use the RopSaveChangesMessage ROP ([MS-OXCROPS] section 2.2.6.3) to commit the properties on the server. Without this, the newly created object will not be persisted. The server returns a success code that indicates that the data has been accepted.

Finally, the client uses the RopRelease ROP ([MS-OXCROPS] section 2.2.15.3) to release the handle that the server had returned from the initial the RopCreateMessage ROP ([MS-OXCROPS] section 2.2.6.2).

Show: