Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
This example shows how to locate the pie chart on presentation slide 5 as shown in figure titled "Presentation slide 5" in section 3.1.
The child-record hierarchy of the DrawingContainer (section 2.5.13) record A from the table titled "SlideContainer record J child-record hierarchy" in section 3.5.2 is shown expanded in the following table.
Offset |
Size |
Structure |
---|---|---|
00003EAB |
01B8 |
DrawingContainer - drawing |
00003EAB |
0008 |
RecordHeader - rh |
00003EB3 |
01B0 |
OfficeArtDgContainer - OfficeArtDg |
00003EB3 |
0008 |
OfficeArtRecordHeader - rh |
00003EBB |
0010 |
OfficeArtFDG - drawingData |
00003ECB |
0148 |
OfficeArtSpgrContainer - groupShape |
00003ECB |
0008 |
OfficeArtRecordHeader - rh |
00003ED3 |
0030 |
OfficeArtSpContainer - case of msofbtSpContainer |
00003F03 |
007A |
OfficeArtSpContainer - case of msofbtSpContainer |
00003F7D |
0096 |
A: OfficeArtSpContainer - case of msofbtSpContainer |
00004013 |
0050 |
OfficeArtSpContainer - shape |
Figure 154: OfficeArtSpContainer child-record hierarchy
The child-record hierarchy of the OfficeArtSpContainer ([MS-ODRAW] section 2.2.14) record A from the previous table is shown expanded in the following table.
Offset |
Size |
Structure |
---|---|---|
00003F7D |
0096 |
OfficeArtSpContainer - case of msofbtSpContainer |
00003F7D |
0008 |
OfficeArtRecordHeader - rh |
00003F85 |
0010 |
OfficeArtFSP - shapeProp |
00003F95 |
004A |
OfficeArtFOPT - shapePrimaryOptions |
00003FDF |
0010 |
OfficeArtClientAnchor - clientAnchor |
00003FEF |
0024 |
A: OfficeArtClientData - clientData |
Figure 155: OfficeArtSpContainer child-record hierarchy
The child-record hierarchy of the OfficeArtClientData (section 2.7.3) record A from the previous table is shown expanded in the following table.
Offset |
Size |
Structure |
Value |
---|---|---|---|
00003FEF |
0024 |
A: OfficeArtClientData - clientData |
|
00003FEF |
0008 |
OfficeArtRecordHeader - rh |
|
00003FF7 |
000C |
ExObjRefAtom - exObjRefAtom |
|
00003FF7 |
0008 |
RecordHeader - rh |
|
00003FFF |
0004 |
unsigned integer - exObjIdRef |
0x00000014 |
00004003 |
0010 |
PlaceholderAtom - placeholderAtom |
|
Figure 156: OfficeArtClientData record A child-record hierarchy
exObjRefAtom.exObjIdRef: 0x00000014 specifies the identifier reference to the external object in the ExObjListContainer record (section 2.10.1) at the document level.
The child-record hierarchy of the ExObjListContainer record F from the table titled "DocumentContainer child-record hierarchy" in section 3.4 is shown expanded in the following table.
Offset |
Size |
Structure |
Value |
---|---|---|---|
00005CA1 |
0152 |
ExObjListContainer - exObjList |
|
00005CA1 |
0008 |
RecordHeader - rh |
|
00005CA9 |
000C |
ExObjListAtom - exObjListAtom |
|
00005CB5 |
00A2 |
ExOleEmbedContainer - case of RT_ExternalOleEmbed |
|
00005CB5 |
0008 |
RecordHeader - rh |
|
00005CB5 |
4 bits |
unsigned integer - recVer |
0xF |
00005CB5 |
12 bits |
unsigned integer - recInstance |
0x000 |
00005CB7 |
0002 |
RecordType - recType |
0x0FCC |
00005CB9 |
0004 |
unsigned integer - recLen |
0x0000009A |
00005CBD |
0010 |
A: ExOleEmbedAtom - exOleEmbedAtom |
|
00005CCD |
0020 |
B: ExOleObjAtom - exOleObjAtom |
|
00005CED |
0012 |
C: MenuNameAtom - menuNameAtom |
|
00005CFF |
0026 |
D: ProgIDAtom - progIdAtom |
|
00005D25 |
0032 |
E: ClipboardNameAtom - clipboardNameAtom |
|
00005D57 |
003E |
F: ExMCIMovieContainer - case of RT_ExternalMciMovie |
|
00005D95 |
005E |
H: ExHyperlinkContainer - case of RT_ExternalHyperlink |
|
Figure 157: ExObjListContainer child-record hierarchy
The child-record hierarchy of the ExOleEmbedAtom record A from the previous table is shown expanded in the following table.
Offset |
Size |
Structure |
Value |
---|---|---|---|
00005CBD |
0010 |
A: ExOleEmbedAtom - exOleEmbedAtom |
|
00005CBD |
0008 |
RecordHeader - rh |
|
00005CC5 |
0004 |
ExColorFollowEnum - exColorFollow |
0x00000001 |
00005CC9 |
0001 |
unsigned integer - fCantLockServer |
0x00 |
00005CCA |
0001 |
unsigned integer - fNoSizeToServer |
0x00 |
00005CCB |
0001 |
unsigned integer - fIsTable |
0x00 |
Figure 158: ExOleEmbedAtom record A child-record hierarchy
exColorFollow: 0x00000001 specifies that the OLE object follows the color scheme.
fCantLockServer: 0x00 specifies that the OLE server can be locked.
fNoSizeToServer: 0x00 specifies that sending dimensions to the OLE server is required.
fIsTable: 0x00 specifies that the OLE object is not a table.
The child-record hierarchy of the ExOleObjAtom (section 2.10.12) record B from the table titled "ExObjListContainer child-record hierarchy" in this section is shown expanded in the following table.
Offset |
Size |
Structure |
Value |
---|---|---|---|
00005CCD |
0020 |
B: ExOleObjAtom - exOleObjAtom |
|
00005CCD |
0008 |
RecordHeader - rh |
|
00005CD5 |
0004 |
DataViewAspectEnum - drawAspect |
0x00000001 |
00005CD9 |
0004 |
ExOleObjTypeEnum - type |
0x00000000 |
00005CDD |
0004 |
unsigned integer - exObjId |
0x00000014 |
00005CE1 |
0004 |
ExOleObjSubTypeEnum - subType |
0x00000004 |
00005CE5 |
0004 |
PersistIdRef - persistIdRef |
0x00000007 |
00005CE9 |
0004 |
BOOL - unused |
0x00139600 |
Figure 159: ExOleObjAtom record B child-record hierarchy
drawAspect: 0x00000001 specifies that it is preferable to display the OLE object as an embedded object inside of the container document.
type: 0x00000000 specifies that this OLE object is serialized and saved with the document.
exObjId: 0x00000014 specifies the identifier of this OLE object.
subType: 0x00000004 specifies that the OLE object is created by ProgID "MSGraph.Chart" or "MSGraph".
persistIdRef: 0x00000007 specifies the value to look up in the persist object directory, shown in the second table in section 3.2, to find the persist object stream offset 0x00004D69. This offset matches the offset for the ExOleObjStg (section 2.10.34) record P in the table titled "Top-level record sequence in the PowerPoint Document Stream from sample.ppt" in section 3.3. This ExOleObjStg record represents the OLE object as shown in figure titled "Presentation slide 5" in section 3.1.
The child-record hierarchy of the ExOleObjStg record P from the table titled "Top-level record sequence in the PowerPoint Document Stream from sample.ppt" in section 3.3 is shown expanded in the following table.
Offset |
Size |
Structure |
Value |
---|---|---|---|
00004D69 |
0E88 |
P: ExOleObjStg |
|
00004D69 |
0E88 |
ExOleObjStgCompressedAtom - case of 1 |
|
00004D69 |
0008 |
RecordHeader - rh |
|
00004D69 |
4 bits |
unsigned integer - recVer |
0x0 |
00004D69 |
12 bits |
unsigned integer - recInstance |
0x001 |
00004D6B |
0002 |
RecordType - recType |
0x1011 |
00004D6D |
0004 |
unsigned integer - recLen |
0x00000E80 |
00004D71 |
0004 |
unsigned integer - decompressedSize |
0x00006A00 |
00004D75 |
0E7C |
array of bytes - oleStgCompressed |
78 9C ED 5C 7B 70 94 D5 15 ... |
Figure 160: ExOleObjStg record P child-record hierarchy
case of 1.rh.recInstance: 0x001 specifies that this is an ExOleObjStgCompressedAtom record.
case of 1.decompressedSize: 0x00006A00 specifies that the storage length is 0x00006A00 bytes after decompression.
case of 1.oleStgCompressed: 78 9C ED 5C 7B 70 94 D5 15 ... specifies the array data of the compressed OLE object.
The child-record hierarchy of the MenuNameAtom record C from the table titled "ExObjListContainer child-record hierarchy" in this section is shown expanded in the following table.
Offset |
Size |
Structure |
Value |
---|---|---|---|
00005CED |
0012 |
C: MenuNameAtom - menuNameAtom |
|
00005CED |
0008 |
RecordHeader - rh |
|
00005CED |
4 bits |
unsigned integer - recVer |
0x0 |
00005CED |
12 bits |
unsigned integer - recInstance |
0x001 |
00005CEF |
0002 |
RecordType - recType |
0x0FBA |
00005CF1 |
0004 |
unsigned integer - recLen |
0x0000000A |
00005CF5 |
000A |
PrintableUnicodeString - menuName |
Chart |
Figure 161: MenuNameAtom record C child-record hierarchy
menuName: "Chart" specifies the short name of the OLE object.
The child-record hierarchy of the ProgIDAtom record D from the table titled "ExObjListContainer child-record hierarchy" in this section is shown expanded in the following table.
Offset |
Size |
Structure |
Value |
---|---|---|---|
00005CFF |
0026 |
D: ProgIDAtom - progIdAtom |
|
00005CFF |
0008 |
RecordHeader - rh |
|
00005CFF |
4 bits |
unsigned integer - recVer |
0x0 |
00005CFF |
12 bits |
unsigned integer - recInstance |
0x002 |
00005D01 |
0002 |
RecordType - recType |
0x0FBA |
00005D03 |
0004 |
unsigned integer - recLen |
0x0000001E |
00005D07 |
001E |
PrintableUnicodeString - progId |
MSGraph.Chart.8 |
Figure 162: ProgIDAtom record D child-record hierarchy
progId: "MSGraph.Chart.8" specifies the ProgID of the OLE object.
The child-record hierarchy of the ClipboardNameAtom record E from the table titled "ExObjListContainer child-record hierarchy" in this section is shown expanded in the following table.
Offset |
Size |
Structure |
Value |
---|---|---|---|
00005D25 |
0032 |
E: ClipboardNameAtom - clipboardNameAtom |
|
00005D25 |
0008 |
RecordHeader - rh |
|
00005D25 |
4 bits |
unsigned integer - recVer |
0x0 |
00005D25 |
12 bits |
unsigned integer - recInstance |
0x003 |
00005D27 |
0002 |
RecordType - recType |
0x0FBA |
00005D29 |
0004 |
unsigned integer - recLen |
0x0000002A |
00005D2D |
002A |
PrintableUnicodeString - clipboardName |
Microsoft Graph Chart |
Figure 163: ClipboardNameAtom record E child-record hierarchy
clipboardName: "Microsoft Graph Chart" specifies the long name of the OLE object.