2.2.5.2 PersistElement Structure

The PersistElement structure contains either the entry ID of the special folder or other data related to the special folder. The PersistElement structure has the following format.


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

ElementID

ElementDataSize

ElementData (variable)

...

ElementID (2 bytes): An integer that identifies the type of data contained in the ElementData field.

The value of the ElementID field SHOULD be one of those listed in the following table. If a PersistElement structure is encountered where the value of the ElementID field is not known to the implementation, the implementation MUST ignore that PersistElement structure.

Value name

Value

Size of the ElementData field

Meaning

RSF_ELID_HEADER

0x0002

4 bytes

Indicates that the ElementData field contains a 4-byte header value equal to 0x00000000.

RSF_ELID_ENTRYID

0x0001

variable

Indicates that the ElementData field contains the entry ID of the special folder that is of the type indicated by the value of the PersistID field of the PersistData structure.

ELEMENT_SENTINEL

0x0000

0 bytes

Indicates that the PersistElement structure is the last one contained in the DataElements field of the PersistData structure. 

ElementDataSize (2 bytes): The size, in bytes, of the ElementData field. The value of this field is 0 (zero) if the ElementID field is set to ELEMENT_SENTINEL.

ElementData (variable): The data corresponding to the special folder that is identified by the value of the PersistID field of the PersistData structure (section 2.2.5.1). The type of data in this field is indicated by the value of the ElementID field. If the value of the ElementID field is RSF_ELID_HEADER, the ElementData field MUST be set to 0x00000000.

This field is not present if the ElementID field is set to ELEMENT_SENTINEL.