2.3.4 Control Record Types
The Control record types define the start and end of an EMF metafile and its properties.
The following are EMF control record types.
Name |
Section |
Description |
---|---|---|
EMR_EOF |
Indicates the end of the metafile and specifies a palette. |
|
EMR_HEADER |
Indicates the start of the metafile and specifies properties of the device on which the metafile was created. |
The generic structure of control records is specified as follows.
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
|
|
|
2 |
|
|
|
|
|
|
|
|
|
3 |
|
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Type |
|||||||||||||||||||||||||||||||
Size |
|||||||||||||||||||||||||||||||
RecordBuffer (variable) |
|||||||||||||||||||||||||||||||
... |
Type (4 bytes): An unsigned integer that defines the type of record. The control record types are listed in the following table. See the preceding table for descriptions of these record types.
-
Name
Value
EMR_HEADER
0x00000001
EMR_EOF
0x0000000E
Size (4 bytes): An unsigned integer that specifies the size in bytes of this record in the metafile. This value MUST be a multiple of 4 bytes.
RecordBuffer (variable): An array of bytes that contains the remainder of the control record.
-
0
1
2
3
4
5
6
7
8
91
0
1
2
3
4
5
6
7
8
92
0
1
2
3
4
5
6
7
8
93
0
1ControlRecordParm (variable)
...
AlignmentPadding (variable, optional)
...
-
ControlRecordParm (variable): An array of bytes that contains the parameters for the control record.
-
AlignmentPadding (variable, optional): An array of up to 3 bytes that pads the record so that its total size is a multiple of 4 bytes. This field MUST be ignored.
See section 2.3 for more EMF record types.