Shedding Light on windows Programming Home Training Resources Registration About the Paul Yao Company
The Paul Yao Company





Microsoft Windows Embedded Partner


Developing Display Drivers for Microsoft Windows

Overview

This workshop introduces C / C++ programmers to best practices in writing display device drivers for Microsoft Windows. The workshop covers the architecture of display 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 a Windows display adapter (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 a display adapter work. This includes hardware designers, firmware programmers, device driver writers, as well as application programmers who wish to have a deeper understanding of the Windows graphic output process. No prior experience with Windows programming is required.

Workshop Highlights
  • The architecture of graphic device drivers
  • Memory considerations
  • Three families of API and DDI functions
  • Learn about relationship between API and DDI
  • Exclusive Display Drivers Tools from The Paul Yao Company
Performance Objectives
At workshop completion, attendees will be able to...
  • Describe the architecture of a graphic device driver in Microsoft Windows.
  • Describe the basic features of the Graphics Device Interface (GDI).
  • Describe the three types of graphic output supported by Windows.
  • Describe the drawing attributes that affect text, raster, and vector output.
  • Write code for a dynamic link library, suitable for use as a display device driver.
  • Write application code to create text, raster, and vector output on a display screen.
  • Write display driver code to support the proper creation of text output.
  • Write display driver code to support the proper creation of raster output.
  • Write display driver code to support the proper creation of vector output.

Workshop Syllabus

Monday Tuesday Wednesday Thursday Friday

Graphic Driver Architecture

  • GDI Design Goals
  • Graphic Pipeline
  • Components

A Bitmap Display Adapter

  • Installation & Use
  • Display Adapter Initialization
  • Basic Operation

A Minimum Printing Program

  • GDI Introduction
  • Key Messages

Debugging Display Drivers

  • Available Debuggers
  • Commands

Driver Entry Points

  • Driver Query
  • Driver Control
  • Initialization
  • Attributes
  • Drawing Functions
  • User-Interface

Display Driver Tools

  • Dynamic Loader
  • API to DDI Mapping
  • Driver Capabilities

Windows Memory Management

  • Architecture
  • Application Memory
  • Driver Memory
  • Resources

Dynamic Link Libraries

  • Architecture
  • Troubleshooting

Text API

  • Drawing Functions
  • Text Attributes
  • Creating & Selecting Fonts
  • Text Metrics

Fonts

  • Font Creation & Enumeration
  • Font Mapping

Text DDI

  • PDEVICE
  • Driver Functions
  • Three Modes of ExtTextOut

Raster API

  • Pixels & Color
  • Brushes
  • Bitmaps

Raster DDI

  • Driver Functions
  • Capability Bits
  • Banding

Vector API

  • Drawing Functions
  • Vector Attributes

Vector DDI

  • Driver Functions
  • Data Structures

Image Color Matching

  • Color Selection
  • ICM Support

Driver Initialization and Control

  • GDIINFO Structure
  • Device Metrics
  • Device Resources
CONTACT US LOGISTICS REQUEST MORE INFORMATION