Enhanced Metafile Spooling Architecture in Windows NT 4.0

Last reviewed: March 27, 1997
Article ID: Q155676
The information in this article applies to:
  • Microsoft Windows NT Workstation version 4.0
  • Microsoft Windows NT Server version 4.0

SUMMARY

In Windows NT 4.0, Enhanced Metafile (EMF) spooling has replaced Windows NT 3.x Journaling. This makes the Windows NT print model similar to the print model used by Windows 95. EMF spool files are used to greatly reduce the amount of time that elapses between a request to print (initiated by an application) and the return of control to the application by the operating system.

MORE INFORMATION

Windows NT 4.0 implements EMF spooling by recording the graphic device interface (GDI) function calls that produce the application's graphic object on the specified printer. This record is an EMF-format file, called a print spool file. Windows NT builds the spool file quickly, and then returns control to the application. In the background, the spool file is spooled to the server, and the server converts the EMF data into a format suitable for the output device.

The bulk of the EMF print model is an array of variable-sized records that encode the GDI function calls necessary to reproduce the picture when the EMF spool file is played back. EMF spool files encode graphics information in such a way as to maintain device independence.

NOTE: By default, Windows NT 4.0 enables EMF spooling for PCL and HPGL/2. EMF can also be configured for PostScript printing; however, the benefits are minimal for client performance.

Other Spool File Formats

RAW:

   The raw data type indicates that the print job has already been fully
   rendered by the GDI and device driver interface (DDI), and it does not
   need any more processing. Raw data streams can either be printed
   directly, or they can be put into spool files. Most Windows NT printing
   clients send raw jobs. Raw spool files are device-dependent. That is,
   the spooled data is destined and formatted for a particular device and
   does not need to be printable on any other device. An example of a raw
   spool file is an encapsulated PostScript file, which is formatted to be
   understood by the PostScript printer for which it is destined.

   For more information, please see the following article in the Microsoft
   Knowledge Base:

      ARTICLE-ID: Q104902
      TITLE     : Print Processors and Data Types

TEXT:

   When the data type of a print job is text, the print processor sends the
   incoming job to the graphics engine. The graphics engine then returns a
   print job, which prints the original text using the print device's
   default paper source, default font, orientation, margins, and duplexing.
   This achieves the same result as saving the incoming job to a file,
   opening that file with Notepad, and then printing the job.

JOURNAL:

   The Windows NT JNL 1.000 data type (usually called "Journal") indicates
   that the job is being sent from a Windows-based application (either 16-
   bit or 32-bit) running on the Windows NT print server. It also indicates
   that the target printer was established in Print Manager using the
   Create Printer option. In this case, the application uses GDI commands
   to describe the output. The Windows NT GDI32 component and the printer
   driver partially render the print job using DDI commands, and then
   return control to the application. As a result, the application finishes
   its print operation faster than normal. In the background, GDI32 then
   submits the DDI journal file to the spooler, with the data type set
   to "NT JNL 1.000." The spooler then calls GDI32 to finish rendering the
   job into printer language commands.

The table below illustrates when EMF is used by Windows NT 4.0 Server.

   Print Client              EMF         RAW
   -----------------------------------------

   Windows NT 4.0(1)          1           0
   Windows NT 4.0(2)          0           1
   Windows NT 3.x(1)          0           1
   Windows NT 3.x(2)          0           1
   Windows 95(3)              0           1
   Windows for Workgroups     0           1
   Non Microsoft Client       0           1

   Notes:

   (1) Indicates the server in the "Connected to" box. In Windows NT 4.0,
       this occurs when you select Network Printer in the Add Printer
       Wizard.

   (2) Indicates that the driver is installed locally and is redirected to
       the server share point.

   (3) Windows 95 supports EMF, but always plays the EMF file locally and
       spools to the server as RAW.

As indicated in the chart above, the only client that takes advantage of the EMF spooling is a Windows NT 4.0 client using one of the following drivers:

   PCL
   PostScript
   HPGL/2

For each of those drivers, EMF spooling is enabled by default. If necessary, users can turn off EMF spooling functionality on a per printer basis. To do this, perform the following steps:

  1. In the Printers folder, click the printer whose properties you want to change.

  2. On the File menu, click Properties.

  3. Click PrintProcessor.

    4. Click the Always Spool RAW Datatype option.


Additional query words: prodnt spl
Keywords : kbprint ntprint NTSrvWkst
Version : 4.0
Platform : WinNT


THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.

Last reviewed: March 27, 1997
© 1998 Microsoft Corporation. All rights reserved. Terms of Use.