2.2.1.3 PidTagConversationIndex Property

Type: PtypBinary ([MS-OXCDATA] section 2.11.1)

The PidTagConversationIndex property ([MS-OXPROPS] section 2.651) indicates the relative position of this message within a conversation thread. It is set according to the description in the following diagram.

PidTagConversationIndex bit table 

Conversation Index Header (22 bytes): Set according to the description in the following diagram.

Conversation Index Header bit table 

Reserved (8 bits): Set to 0x01.

Current FILETIME (40 bits): The time of delivery in UTC expressed as a PtypTime type ([MS-OXCDATA] section 2.11.1) is obtained, where the 32 bits of the high part and the  8 high bits of the low part of the FILETIME ([MS-DTYP]) are included in Current FILETIME high part and Current FILETIME low part, as shown in the following table.<2>

40 bits

24 least significant bits

Included

Excluded

The data is stored in big-endian format: the five bytes of the time are written from most significant byte to least significant byte.

GUID (16 bytes): A PtypGuid type ([MS-OXCDATA] section 2.11.1) that is generated for each new conversation thread. The Data1, Data2, and Data3 fields are stored in big-endian format in the packet.

Response Levels (5 bytes each): Set according to the description in the following diagram.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

DC

Time Delta

Random

DC (Delta code) (1 bit) and Time Delta (31 bits): Calculated based on TimeDiff, a 64-bit value representing the difference between the current time and the time stored in the conversation index header:<3>

  • If the difference is less than 1.7 years (high order part of the delta file time bitwise AND with 0x00FE0000 resulting in "0"), the Delta Code field is 0 and the Time Delta field is the least significant 31 bits of the TimeDiff value remaining after the 18 least significant bits are excluded. The following table depicts which portion of the TimeDiff value is included in the Time Delta field in this scenario.

    15 most significant bits

    31 bits

    18 least significant bits

    Excluded

    Included

    Excluded

  • If the difference is greater than or equal to 1.7 years (high order part of the delta file time bitwise AND with 0x00FE0000 resulting in nonzero), the Delta Code field is 1 and the Time Delta field is the least significant 31 bits of the TimeDiff value remaining after the 23 least significant bits are excluded. The following table depicts which portion of the TimeDiff value is included in the Time Delta field in this scenario.

    10 most significant bits

    31 bits

    23 least significant bits

    Excluded

    Included

    Excluded

    For both cases, Time Delta is stored in big-endian format.

    Random (8 bits): Random value generated by using an implementation-specific algorithm.