5 Appendix A: Product Behavior
The information in this specification is applicable to the following Microsoft products or supplemental software. References to product versions include updates to those products.
The terms "earlier" and "later", when used with a product version, refer to either all preceding versions or all subsequent versions, respectively. The term "through" refers to the inclusive range of versions. Applicable Microsoft products are listed chronologically in this section.
Windows NT 4.0 operating system Service Pack 2 (SP2)
Windows 2000 operating system
Windows XP operating system
Windows Server 2003 operating system
Windows Vista operating system
Windows Server 2008 operating system
Windows 7 operating system
Windows Server 2008 R2 operating system
Windows 8 operating system
Windows Server 2012 operating system
Windows 8.1 operating system
Windows Server 2012 R2 operating system
Windows 10 operating system
Windows Server 2016 operating system
Windows Server operating system
Windows Server 2019 operating system
Windows Server 2022 operating system
Windows 11 operating system
Windows Server 2025 operating system
Exceptions, if any, are noted in this section. If an update version, service pack or Knowledge Base (KB) number appears with a product name, the behavior changed in that update. The new behavior also applies to subsequent updates unless otherwise specified. If a product edition appears with the product version, behavior is different in that product edition.
Unless otherwise specified, any statement of optional behavior in this specification that is prescribed using the terms "SHOULD" or "SHOULD NOT" implies product behavior in accordance with the SHOULD or SHOULD NOT prescription. Unless otherwise specified, the term "MAY" implies that the product does not follow the prescription.
<1> Section 1.3: When a Windows application needs to print, it performs the following operations:
First, the application creates a printer device context specifying the target printer.
The application then calls Windows graphics device interface (GDI) methods such as DrawLine to pass drawing instructions to the GDI graphics engine.
The GDI graphics engine accumulates the drawing instructions into an EMFSPOOL file.
The spool file is sent to the Windows print spooler. One of the spool file formats accepted by the Windows print spooler is the EMFSPOOL.
The Windows print spooler interprets the EMFSPOOL, possibly also inserting page layout information and job control instructions into the data stream.
The spooler then sends the data stream to the serial, parallel, or network port driver associated with the target printer's I/O port.
<2> Section 2.1.1: The following table shows support for EMFSPOOL records by Windows version.
Record type |
Windows NT 4.0 SP2 |
Windows 2000 |
Windows XP and later and Windows Server 2003 and later |
---|---|---|---|
EMRI_METAFILE |
X |
X Note This record type is parsed, but is not written to metafiles. |
X Note This record type is parsed, but is not written to metafiles. |
EMRI_ENGINE_FONT |
X |
X |
X |
EMRI_DEVMODE |
X |
X |
X |
EMRI_TYPE1_FONT |
X |
X |
X |
EMRI_PRESTARTPAGE |
X |
X |
X |
EMRI_DESIGNVECTOR |
|
X |
X Note This record type is parsed, but is not written to metafiles. |
EMRI_SUBSET_FONT |
|
X |
X |
EMRI_DELTA_FONT |
|
X |
X |
EMRI_FORM_METAFILE |
|
X Note This record type is parsed, but is not written to metafiles. |
X Note This record type is parsed, but is not written to metafiles. |
EMRI_BW_METAFILE |
|
X Note This record type is parsed, but is not written to metafiles. |
X Note This record type is parsed, but is not written to metafiles. |
EMRI_BW_FORM_METAFILE |
|
X Note This record type is parsed, but is not written to metafiles. |
X Note This record type is parsed, but is not written to metafiles. |
EMRI_METAFILE_DATA |
|
X |
X |
EMRI_METAFILE_EXT |
|
X |
X |
EMRI_BW_METAFILE_EXT |
|
X |
X |
EMRI_ENGINE_FONT_EXT |
|
X |
X |
EMRI_TYPE1_FONT_EXT |
|
X |
X |
EMRI_DESIGNVECTOR_EXT |
|
X |
X |
EMRI_SUBSET_FONT_EXT |
|
X |
X |
EMRI_DELTA_FONT_EXT |
|
X |
X |
EMRI_PS_JOB_DATA |
|
X |
X |
EMRI_EMBED_FONT_EXT |
|
|
X |
<3> Section 2.2.3: This record is not supported on Windows NT 4.0 SP2.
<4> Section 2.2.3.1: This record is written to metafiles by the Windows NT 4.0 SP2 implementation.
<5> Section 2.2.3.1: This record is not written to metafiles by Windows implementations.
<6> Section 2.2.3.1: This record is not written to metafiles by Windows implementations.
<7> Section 2.2.3.1: This record is not written to metafiles by Windows implementations.
<8> Section 2.2.3.3.2: Windows NT 4.0 operating system: This is set to a nonzero value.
<9> Section 2.2.3.3.3: This record is written to metafiles by Windows 2000 implementations only.