Principles of Printer Device Drivers for
Microsoft Windows 9x

Overview. This workshop introduces C programmers to the elements needed to write printer device drivers for Windows® 3.x, Windows® 95, Windows® 98, and Windows® Me. The workshop covers the architecture of 16-bit printer device drivers, as well as the basics of programming with the Windows Application Programming Interface (API). The workshop adopts a strategy of drilling through the graphic API to the underlying Device Driver Interface (DDI) as implemented in sixteen-bit printer driver dynamic link library (DLL).

Who Should Attend. This five-day lecture and lab-based workshop is intended for software and hardware engineers who need to understand how to make printing work in Windows® 98. This includes hardware designers, firmware programmers, device driver writers, as well as application programmers who wish to have a deeper understanding of the Windows printing process. No prior experience with Windows programming is required.

Performance Objectives. At workshop completion, attendees will be able to...

Workshop Outline

MONDAY TUESDAY WEDNESDAY THURSDAY FRIDAY
Windows 98 Printing Architecture
  • GDI Design Goal
  • Printing Pipeline
  • Installable Components
The Bitmap Printer Driver
  • Basic Operation
  • Installation & Use
  • Printer Driver Initialization
A Minimum Printing Program
  • An Introduction to GDI
  • Creating & Controlling a Print Job
Debugging Printer Drivers
  • Installation & Symbol Loading
  • Commands
  • Customizing Soft/ICE
Driver Entry Points
  • Driver Control & Query
  • Printing Management
  • Attribute & Drawing Functions
  • User-Interface
Printer Driver Tools
  • The Null Printer Driver
  • Null GDI
Windows 98 Memory Management
  • System Memory Use
  • 16-Bit Segmented Memory
  • Dynamic Memory Allocation
  • Resources
Building Dynamic Link Libraries
  • What is Dynamic Linking?
  • Building DLLs
  • Exporting Functions
Text API
  • Text Drawing Functions
  • DC Text Attributes
  • Creating & Selecting Fonts
  • Query Metrics for Text Placement
Fonts
  • Font Creation & Enumeration
  • Font Mapping
Text DDI
  • Role of PDEVICE
  • Three Modes of ExtTextOut
Raster API
  • Pixels & Color
  • Brushes
  • Bitmaps
Raster DDI
  • Driver Functions
  • Capability Bits
  • Banding
Vector API
  • Vector Attributes
  • GDI Drawing Functions
Vector DDI
  • Driver Functions
  • Data Structures
Image Color Matching
  • Color Selection
  • Windows 9x ICM Support
  • Driver-Level Issues
Driver Initialization and Control
  • GDIINFO Structure
  • Print Job Control
The Spool Subsystem
  • Print Processor
  • Printer Monitor & Language Monitor

 

For more technical details on any of our hands-on training sessions,
Please call 1-800-942-3535 or email us at info@paulyao.com
International clients, please call 425-747-1355.

(c) Copyright 1990-2002 The Paul Yao Company. All rights reserved.