Export (0) Print
Expand All

4.6 Removing a Reminder from an Instance of a Recurring Calendar Object

John has an existing recurring appointment for lunch on Fridays at noon, Pacific Standard Time, but the instance for next week, which occurs on February 22, 2008, was previously changed to 11:00 A.M. (that is, the next instance already has an exception).

Some of the properties of the Recurring Calendar object are as follows.

Property

Property ID

Property type

Data

Value

PidTagNormalizedSubject ([MS-OXCMSG] section 2.2.1.10)

0x0E1D

PtypString ([MS-OXCDATA] section 2.11.1)

4C 00 75 00 6E 00 63 00 68 00 20 00 77 00 69 00 74 00 68 00 20 00 42 00 65 00 6E 00 20 00 53 00 6D 00 69 00 74 00 68 00 00 00

"Lunch with Ben Smith"

PidTagStartDate ([MS-OXOCAL] section 2.2.1.30)

0x0060

PtypTime ([MS-OXCDATA] section 2.11.1)

00 A0 65 58 0D 70 C8 01

2008/02/15 20:00:00.000

PidTagEndDate ([MS-OXOCAL] section 2.2.1.31)

0x0061

PtypTime

00 08 2A BA 15 70 C8 01

2008/02/15 21:00:00.000

PidLidReminderSet (section 2.2.1.1)

0x8004

PtypBoolean ([MS-OXCDATA] section 2.11.1)

01

TRUE

PidLidReminderTime (section 2.2.1.4)

0x8005

PtypTime

00 A0 65 58 0D 70 C8 01

2008/02/15 20:00:00.000

PidLidReminderSignalTime (section 2.2.1.2)

0x8006

PtypTime

00 00 44 54 82 75 C8 01

2008/02/22 06:40:00.000

PidLidAppointmentRecur ([MS-OXOCAL] section 2.2.1.44)

0x81AE

PtypBinary ([MS-OXCDATA] section 2.11.1)

Cb: 72 00

Lpb: (Information follows the table)

Cb: 114 bytes

Lpb: (See [MS-OXOCAL])

The value of the PidLidAppointmentRecur property is as follows:

Cb: 72 00

Lpb:

0x0000: 04 30 04 30 0B 20 01 00-00 00 C0 21 00 00 01 00
0x0010: 00 00 00 00 00 00 20 00-00 00 23 20 00 00 0A 00
0x0020: 00 00 00 00 00 00 01 00-00 00 A0 71 C3 0C 01 00
0x0030: 00 00 A0 71 C3 0C 40 4A-C3 0C DF 80 E9 5A 06 30
0x0040: 00 00 09 30 00 00 D0 02-00 00 0C 03 00 00 01 00
0x0050: 34 74 C3 0C 70 74 C3 0C-70 74 C3 0C 00 00 00 00
0x0060: 00 00 04 00 00 00 00 00-00 00 00 00 00 00 00 00
0x0070: 00 00

For details about interpreting the data, see [MS-OXOCAL].

Some properties from the Exception Attachment object are listed in the following table.

Property

Property ID

Property type

Data

Value

PidTagAttachSize ([MS-OXCMSG] section 2.2.2.5)

0x0E20

PtypInteger32

DC 0E 00 00

3804 bytes

PidTagLastModificationTime ([MS-OXCMSG] section 2.2.2.2)

0x3008

PtypTime

62 BC D2 86 20 70 C8 01

2008/02/15 22:17:18.328

John opens that instance, sets the signal time to none, and saves the Message object, disabling the reminder for just that instance. In response to the user-entered data, the client sends a RopOpenMessageROP request ([MS-OXCROPS] section 2.2.6.1) and waits for the server to respond. The server response contains a handle to the Recurring Calendar object.

Then the client sends a RopOpenAttachment ROP request ([MS-OXCROPS] section 2.2.6.12) and waits for the server to respond. The server response contains a handle to the Exception Attachment object. For information about using the attachment table to find the attachment that corresponds to a given exception, see [MS-OXOCAL] section 4.2.2.7.

Then the client sends a RopOpenEmbeddedMessage ROP request ([MS-OXCROPS] section 2.2.6.16) and waits for the server to respond. The server response contains a handle to the Exception Embedded Message object.

Next, in response to the user-entered data for the Exception Embedded Message object, the client sends a RopSetProperties ROP request ([MS-OXCROPS] section 2.2.8.6) with the following properties (followed by a RopSaveChangesMessage ROP request ([MS-OXCROPS] section 2.2.6.3) to persist the object (1) on the server).

Property

Property ID

Property type

Data

Value

PidLidAutoStartCheck ([MS-OXPROPS] section 2.41)

0x82E0

PtypBoolean

00

FALSE

PidLidReminderSet

0x8004

PtypBoolean

00

FALSE

Next, in response to the user-entered data for the Exception Attachment object, the client sends a RopSetProperties ROP request ([MS-OXCROPS] section 2.2.8.6) with the following properties (followed by a RopSaveChangesAttachment ROP request ([MS-OXCROPS] section 2.2.6.15) to persist the object (1) on the server):

Property

Property ID

Property type

Data

Value

PidTagAttachMethod ([MS-OXCMSG] section 2.2.2.9)

0x3705

PtypInteger32

05 00 00 00

5

PidTagRenderingPosition ([MS-OXCMSG] section 2.2.2.16)

0x370B

PtypInteger32

FF FF FF FF

-1

PidTagExceptionStartTime ([MS-OXOCAL] section 2.2.10.1.4)

0x7FFB

PtypTime

00 38 62 11 42 75 C8 01

2008/02/22 11:00:00.000

PidTagAttachEncoding ([MS-OXCMSG] section 2.2.2.20)

0x3702

PtypBinary

00 00

Size: 0 bytes

PidTagExceptionEndTime ([MS-OXOCAL] section 2.2.10.1.5)

0x7FFC

PtypTime

00 a0 26 73 4A 75 C8 01

2008/02/22 12:00:00.000

PidTagAttachmentFlags ([MS-OXCMSG] section 2.2.2.23)

0x7FFD

PtypInteger32

02 00 00 00

Exception to a recurrence

PidTagDisplayName ([MS-OXCFOLD] section 2.2.2.2.2.5)

0x3001

PtypString

55 00 6E 00 74 00 69 00 74 00 6C 00 65 00 64 00 00 00

"Untitled"

PidTagAttachmentLinkId ([MS-OXCMSG] section 2.2.2.22)

0x7FFA

PtypInteger32

00 00 00 00

0

PidTagAttachFlags ([MS-OXCMSG] section 2.2.2.18)

0x3714

PtypInteger32

00 00 00 00

0

PidTagAttachmentHidden ([MS-OXCMSG] section 2.2.2.24)

0x7FFE

PtypBoolean

01

TRUE

PidTagAttachmentContactPhoto ([MS-OXOCNTC] section 2.2.1.8)

0x7FFF

PtypBoolean

00

FALSE

Next, in response to user-entered data for the Recurring Calendar object, the client sends a RopSetProperties ROP request ([MS-OXCROPS] section 2.2.8.6) with the following properties (followed by a RopSaveChangesMessage ROP request ([MS-OXCROPS] section 2.2.6.3) to persist the object (1) on the server).

Property

Property ID

Property type

Data

Value

PidLidAppointmentRecur

0x81AE

PtypBinary

Cb: 76 00

Lpb: The value is listed later in this section.

Cb: 118 bytes

Lpb: The value is listed later in this section.

PidLidFExceptionalAttendees ([MS-OXOCAL] section 2.2.2.3)

0x82D7

PtypBoolean

00

FALSE

PidLidReminderSignalTime

0x8006

PtypTime

00 A8 EC DE 0A 7B C8 01

2008/02/29 19:40:00.000

Then the client releases the Exception Embedded Message object by sending a RopRelease ROP request ([MS-OXCROPS] section 2.2.15.3) and releases the Exception Attachment object by sending a RopRelease ROP request.

Finally, the client releases the attachment table by sending a RopRelease ROP request and releases the Recurring Calendar object by sending a RopRelease ROP request.

The value of the PidLidAppointmentRecur property is as follows.

Cb: 76 00

Lpb:

0x0000: 04 30 04 30 0B 20 01 00-00 00 C0 21 00 00 01 00
0x0010: 00 00 00 00 00 00 20 00-00 00 23 20 00 00 0A 00
0x0020: 00 00 00 00 00 00 01 00-00 00 A0 71 C3 0C 01 00
0x0030: 00 00 A0 71 C3 0C 40 4A-C3 0C DF 80 E9 5A 06 30
0x0040: 00 00 09 30 00 00 D0 02-00 00 0C 03 00 00 01 00
0x0050: 34 74 C3 0C 70 74 C3 0C-70 74 C3 0C 08 00 00 00
0x0060: 00 00 00 00 00 00 04 00-00 00 00 00 00 00 00 00
0x0070: 00 00 00 00 00 00

This corresponds to the following table, in which the OverrideFlags and fReminder fields for the first exception are the only two fields that changed within the PidLidAppointmentRecur property. In this specific case, the 2-byte value starting at the 93rd byte (flags) was changed from 0x0000 to 0x0008, and a 4-byte value representing FALSE (0x00000000) was inserted between the 94th and 95th bytes, extending the size of the property from 114 bytes to 118 bytes. For information about how to determine the byte position in other cases, see [MS-OXOCAL] section 2.2.1.44.1.

Field name

Type

Size, in bytes

Data

Description

ReaderVersion

WORD ([MS-DTYP])

2

04 30

This field is set to 0x3004.

WriterVersion

WORD

2

04 30

This field is set to 0x3004.

UIGroup

WORD

2

0B 20

The pattern of the recurrence is weekly (0x200b).

PatternType

WORD

2

01 00

The pattern type is weekly (0x0001).

CalendarType

WORD

2

00 00

The calendar type is Gregorian (0x0000).

FirstDateTime

ULONG ([MS-DTYP])

4

C0 21 00 00

For information about how this property was calculated based on the start date, see [MS-OXOCAL] section 2.2.1.44.1.

Period

ULONG

4

01 00 00 00

The recurrence occurs every week (0x00000001).

SlidingFlag

ULONG

4

00 00 00 00

The recurring instances do not rely on completion of the previous instances.

PatternTypeSpecific

PtypBinary

Varies (4 bytes, in this case, for Weekly pattern)

20 00 00 00

The recurring appointment occurs on Friday. For information about how the value is determined, see [MS-OXOCAL] section 2.2.1.44.1.4.

EndType

ULONG

4

23 20 00 00

No End. (0x00002023)

OccurrenceCount

ULONG

4

0A 00 00 00

Ignored, because recurrence does not have an end.

FirstDOW

ULONG

4

00 00 00 00

The first day of the week on the calendar is Sunday (the default value).

DeletedInstanceCount

ULONG

4

01 00 00 00

One deleted instance.

Deleted Instance Start

ULONG

4

A0 71 C3 0C

0x0CC371A0 == February 22, 2008, at 00:00 in UTC.

ModifiedInstanceCount

ULONG

4

01 00 00 00

One modified instance.

Modified Instance Start

ULONG

4

A0 71 C3 0C

0x0CC371A0 == February 22, 2008, at 00:00 in UTC.

Start Date of entire series

ULONG

4

40 4A C3 0C

The start date of the recurrence given in minutes since midnight January 1, 1601, corresponds to February 15, 2008, 12:00:00 A.M.

0x0CC34A40

EndDate of entire series

ULONG

4

DF 80 E9 5A

The end date of the recurrence given in minutes since midnight January 1, 1601; however, because there is no end date, this value corresponds to the last valid date: December 31, 4500, 11:59 P.M. (0x5AE980DF)

ReaderVersion2

ULONG

4

06 30 00 00

This value is set to 0x00003006.

WriterVersion2

ULONG

4

09 30 00 00

This value is set to 0x00003009.

StartTimeOffset

ULONG

4

D0 02 00 00

The hexadecimal start time of the recurrence is 0x000002D0, which corresponds to 720 in decimal. 720 minutes is 12 hours, which is 12:00 P.M.

EndTimeOffset

ULONG

4

0C 03 00 00

The hexadecimal end time of the recurrence is 0x00000030C, which corresponds to 780 minutes, which is 1:00 P.M.

ExceptionCount

WORD

2

01 00

There is one exception in this recurrence BLOB.

ExceptionInfo block for exception 1:

Start Date Time

ULONG

4

34 74 C3 0C

0x0CC37434 == February 22, 2008, at 11:00 A.M.

End Date Time

ULONG

4

70 74 C3 0C

0x0CC37470 == February 22, 2008, at 12:00 P.M.

Original Start Time

ULONG

4

70 74 C3 0C

0x0CC37470 == February 22, 2008, at 12:00 P.M.

OverrideFlags

WORD

2

08 00

0x0008 corresponds to the fReminderSet flag, meaning just that field is specified for this exception.

fReminderSet

ULONG

4

00 00 00 00

0x00000000 == FALSE, meaning ReminderSet is overridden with the value FALSE for this exception.

ReservedBlock1Size

ULONG

4

00 00 00 00

There is no data in the reserved block.

ExtendedException block for exception 1:

ChangeHighlight

Byte Array

Varies

04 00 00 00 00 00 00 00

The size of the ChangeHighlight field is 4 bytes. The value of the PidLidChangeHighlight property ([MS-OXOCAL] section 2.2.6.2) is zero for this exception.

ReservedBlockEE1Size

ULONG

4

00 00 00 00

There is no data in the reserved block.

ReservedBlock2Size

ULONG

4

00 00 00 00

There is no data in the reserved block.

Show:
© 2014 Microsoft