Jump to content

PDRREF:Queue Drivers

From EDM2
Revision as of 02:20, 4 May 2020 by Ak120 (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Presentation Device Driver Reference for OS/2
  1. Introduction to OS/2 Presentation Drivers
  2. Design Considerations for All Drivers
  3. Graphics Engine/Presentation Driver Design Changes
  4. Design Considerations for Display Drivers
  5. Design Considerations for Hardcopy Drivers
  6. Display Drivers
  7. Distributed Console Access Facility (DCAF) Architecture
  8. Graphics Engine Hardcopy Drivers
  9. Queue Drivers
  10. Port Drivers
  11. Presentation Manager Function Categories
  12. Exported Driver Function Reference
  13. Mandatory and Simulated Graphics Engine Function Reference
  14. Device Support Function Reference
  15. DBIDI Command Structures and Command Flow

Appendixes

A - OS/2 Version Compatibility Considerations
B - Syntax Conventions
C - Format of the Journal File
D - Bit-Map Simulation for 16-Bit Hardcopy Drivers
E - Data Types
F - Notices

Miscellaneous

G - Glossary

Reprint Courtesy of International Business Machines Corporation, © International Business Machines Corporation

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.

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.