2.3.5.2 EmfPlusSerializableObject Record

The EmfPlusSerializableObject record defines an image effects parameter block that has been serialized into a data buffer.<26>


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

Type

Flags

Size

DataSize

ObjectGUID

...

...

...

BufferSize

Buffer (variable)

...

Type (2 bytes): An unsigned integer that identifies this record type as EmfPlusSerializableObject from the RecordType enumeration. The value MUST be 0x4038.

Flags (2 bytes): An unsigned integer that is not used. This field SHOULD be set to zero and MUST be ignored upon receipt.

Size (4 bytes): An unsigned integer that specifies the 32-bit-aligned number of bytes in the entire record, including the 12-byte record header and record-specific data. For this record type, the value MUST be computed as follows:

 Size = BufferSize + 0x00000020

DataSize (4 bytes): An unsigned integer that specifies the 32-bit-aligned number of bytes of record-specific data that follows. For this record type, the value MUST be computed as follows:

 DataSize = BufferSize + 0x00000014

ObjectGUID (16 bytes): The GUID packet representation value ([MS-DTYP] section 2.3.4.2) for the image effect. This MUST correspond to one of the ImageEffects identifiers.

BufferSize (4 bytes): An unsigned integer that specifies the size in bytes of the 32-bit-aligned Buffer field.

Buffer (variable): An array of BufferSize bytes that contain the serialized image effects parameter block that corresponds to the GUID in the ObjectGUID field. This MUST be one of the Image Effects objects.

See section 2.3.5 for the specification of additional object record types.