2.3.3 UserEditAtom

An atom record that specifies information about a user edit.


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

rh

...

lastSlideIdRef

version

minorVersion

majorVersion

offsetLastEdit

offsetPersistDirectory

docPersistIdRef

persistIdSeed

lastView

unused

encryptSessionPersistIdRef (optional)

rh (8 bytes): A RecordHeader structure (section 2.3.1) that specifies the header for this record. Sub-fields are further specified in the following table.

Field

Meaning

rh.recVer

MUST be 0x0.

rh.recInstance

MUST be 0x000.

rh.recType

MUST be RT_UserEditAtom (section 2.13.24).

rh.recLen

MUST be 0x0000001C or 0x00000020.

lastSlideIdRef (4 bytes): A SlideIdRef (section 2.2.25) that specifies the last slide viewed, if this is the last UserEditAtom record in the PowerPoint Document Stream (section 2.1.2). In all other cases the value of this field is undefined and MUST be ignored.

version (16 bits): An unsigned integer that specifies a build version of the executable that wrote the file. It SHOULD<9> be 0x0000 and MUST be ignored.

minorVersion (8 bits): An unsigned integer that specifies the minor version of the storage format. It MUST be 0x00.

majorVersion (8 bits): An unsigned integer that specifies the major version of the storage format. It MUST be 0x03.

offsetLastEdit (4 bytes): An unsigned integer that specifies an offset, in bytes, from the beginning of the PowerPoint Document Stream to a UserEditAtom record for the previous user edit. It MUST be less than the offset, in bytes, of this UserEditAtom record. The value 0x00000000 specifies that no previous user edit exists.

offsetPersistDirectory (4 bytes): An unsigned integer that specifies an offset, in bytes, from the beginning of the PowerPoint Document Stream to the PersistDirectoryAtom record (section 2.3.4) for this user edit. It MUST be greater than offsetLastEdit and less than the offset, in bytes, of this UserEditAtom record.

docPersistIdRef (4 bytes): A PersistIdRef (section 2.2.21) that specifies the value to look up in the persist object directory to find the offset of the DocumentContainer record (section 2.4.1). It MUST be 0x00000001.

persistIdSeed (4 bytes): An unsigned integer that specifies a seed for creating a new persist object identifier. It MUST be greater than or equal to all persist object identifiers in the file as specified by the PersistDirectoryAtom records.

lastView (2 bytes): A ViewTypeEnum enumeration (section 2.13.42) that specifies the last view used to display the file.

unused (2 bytes): Undefined and MUST be ignored.

encryptSessionPersistIdRef (4 bytes): An optional PersistIdRef that specifies the value to look up in the persist object directory to find the offset of the CryptSession10Container record (section 2.3.7). It MAY<10> be omitted. It MUST exist if the document is an encrypted document.