2.3.8 CompObjStream
The CompObjStream structure is contained inside of an OLE Compound File Stream (as specified in [MS-CFB]). The OLE Compound File Stream has the name "\1CompObj". The CompObjStream structure specifies the Clipboard Format and the display name of the linked object or embedded object.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Header (28 bytes) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
AnsiUserType (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
AnsiClipboardFormat (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Reserved1 (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
UnicodeMarker (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
UnicodeUserType (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
UnicodeClipboardFormat (variable) |
|||||||||||||||||||||||||||||||
... |
|||||||||||||||||||||||||||||||
Reserved2 (variable) |
|||||||||||||||||||||||||||||||
... |
Header (28 bytes): This MUST be a CompObjHeader structure (section 2.3.7).
AnsiUserType (variable): This MUST be a LengthPrefixedAnsiString structure (section 2.1.4) that contains a display name of the linked object or embedded object.
AnsiClipboardFormat (variable): This MUST be a ClipboardFormatOrAnsiString structure (section 2.3.1) that contains the Clipboard Format of the linked object or embedded object. If the MarkerOrLength field of the ClipboardFormatOrAnsiString structure contains a value other than 0x00000000, 0xffffffff, or 0xfffffffe, the value MUST NOT be greater than 0x00000190. Otherwise the CompObjStream structure is invalid.<24>
Reserved1 (variable): If present, this MUST be a LengthPrefixedAnsiString structure (section 2.1.4). If the Length field of the LengthPrefixedAnsiString contains a value of 0 or a value that is greater than 0x00000028 , the remaining fields of the structure starting with the String field of the LengthPrefixedAnsiString MUST be ignored on processing.
-
If the String field of the LengthPrefixedAnsiString is not present, the remaining fields of the structure starting with the UnicodeMarker field MUST be ignored on processing.
-
Otherwise, the String field of the LengthPrefixedAnsiString MUST be ignored on processing.
UnicodeMarker (variable): If this field is present and is NOT set to 0x71B239F4, the remaining fields of the structure MUST be ignored on processing.
UnicodeUserType (variable): This MUST be a LengthPrefixedUnicodeString structure (section 2.1.5) that contains a display name of the linked object or embedded object.
UnicodeClipboardFormat (variable): This MUST be a ClipboardFormatOrUnicodeString structure (section 2.3.2) that contains a Clipboard Format of the linked object or embedded object. If the MarkerOrLength field of the ClipboardFormatOrUnicodeString structure contains a value other than 0x00000000, 0xffffffff, or 0xfffffffe, the value MUST NOT be more than 0x00000190. Otherwise, the CompObjStream structure is invalid. <25>
Reserved2 (variable): This MUST be a LengthPrefixedUnicodeString (section 2.1.5). The String field of the LengthPrefixedUnicodeString can contain any arbitrary value and MUST be ignored on processing.