2.3.3 Control Record Types

The control record types specify global parameters for EMF+ metafile processing. The following are EMF+ control record types:

Name

Section

Description

EmfPlusEndOfFile

2.3.3.1

Specifies the end of EMF+ data in the metafile.

EmfPlusGetDC

2.3.3.2

Specifies the processing of subsequent EMF records ([MS-EMF] section 2.3) encountered in the metafile.

EmfPlusHeader

2.3.3.3

Specifies the start of EMF+ data in the metafile.

The generic structure of EMF+ control records is specified as follows:


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

RecordData (variable)

...

Type (2 bytes): An unsigned integer that identifies the record type. The control record types are listed below. See the table above for descriptions of these records.

Name

Value

EmfPlusHeader

0x4001

EmfPlusEndOfFile

0x4002

EmfPlusGetDC

0x4004

Flags (2 bytes): An unsigned integer that contains information for some records on how the operation is to be performed and on the structure of the record.

Size (4 bytes): An unsigned integer that defines the 32-bit–aligned size of the entire record in bytes, including the 12-byte record header and the record-specific data.

DataSize (4 bytes): An unsigned integer that defines the 32-bit–aligned number of bytes of data in the RecordData field that follows. This number does not include the 12-byte record header.

RecordData (variable): An optional, variable-length array of bytes that, if present, defines the data specific to individual records. For specifications of the additional information, if any, which is contained within this field, see individual record definitions.