PDRREF:Queue Drivers

The Workplace Shell uses the term "queue driver" to identify the queue processor. Each queue has its own queue processor, which prints a spool file. The Presentation Manager interface delivers two different queue drivers. Presentation Manager system queue drivers are supplied in the files PMPRINT.QPR and PMPLOT.QPR.

The spooler calls these functions by using DosLoadModule and DosGetProcAddr. Queue drivers can be 16-bit or 32-bit DLLs.

The user can supply queue drivers to support user data types, however, any queue driver created by the user must support PM_Q_STD and PM_Q_RAW standard data types.

Queue Driver Printing Methods
The method used by the queue driver to write data to the hardcopy device depends on whether the data type is PM_Q_STD or PM_Q_RAW.

PM_Q_STD
PM_Q_STD performs in the following manner:


 * 1) Opens a DC for the hardcopy device by using DevOpenDC and enables it as an OD_DIRECT device
 * 2) Calls DevEscape with DEVESC_STARTDOC
 * 3) Writes data, which is in metafile format, by using GpiPlayMetafile
 * 4) Calls DevEscape with DEVESC_ENDDOC
 * 5) Closes hardcopy device DC by using DevCloseDC

PM_Q_RAW
PM_Q_RAW performs in the following manner:
 * 1) Opens a DC for the hardcopy device by using DevOpenDC and enables it as an OD_DIRECT device
 * 2) Calls DevEscape with DEVESC_STARTDOC
 * 3) Writes the data using DevEscape with DEVESC_RAWDATA
 * 4) Calls DevEscape with DEVESC_ENDDOC
 * 5) Closes hardcopy device DC by using DevCloseDC

User Data Types
The processing required for user data types depends on the format of the data type. In some instances, it might be necessary to create a special queue processor to support the data type.

Interface Functions
Seven functions provide an interface to the queue driver.
 * SplQpClose
 * SplQpControl
 * SplQpInstall
 * SplQpOpen
 * SplQpPrint
 * SplQpQueryDt
 * SplQpQueryFlags


 * Note: OS/2 2.1 supports both 16-bit and 32-bit queue drivers (DLLs).

For a complete description of each of the functions listed in this chapter, see Device Support Function Reference. The functions are listed alphabetically in the index table for that chapter.