Glossary

animation

The display of a series of graphic images, simulating motion. Animation can be frame-based or cast-based.

applet

A small (usually single-purpose) application that is launched by some other application. For example, the different options of the Program Manager Control Panel are referred to as applets.

bitmap

See “standard format bitmap.”

brush origin

The coordinate of a pixel on a device’s surface aligned with the upper left pixel of the brush’s pattern.

color index

An index into an array of RGBs.

CPSUI (Common Property Sheet User Interface)

The CPSUI is a system-supplied module that manages all aspects of a property sheet for an application, including the addition of driver-defined pages. Specifically, the CPSUI is responsible for creating and destroying an application’s property sheet pages plus any device-specific pages that an application might request. The CPSUI is also responsible for the display and update of all dialog boxes that define a page.

CTT (character translation table)

Used in Windows NT miniprint drivers and translated in Windows NT to RLE files.

DDB (device dependent bitmap)

A data structure describing a bit image, specifying width and height of a rectangular region in pixels, the width of the array that maps entries from the device palette to pixels, and the device’s color format in terms of color planes and bits per pixel.

DDI (device driver interface)

A set of functions implemented by graphics drivers and used by GDI to communicate with the drivers.

despooling

The conversion of spooled device-independent records into device-specific records.

DIB (device independent bitmap)

Information on the bitmap is stored in a data structure containing information such as color format, resolution and color palette for the device on which the image appears, an array of bits that maps RGB triplets to pixels, and a data-compression identifier which indicates which if any data compression scheme was used to reduce the size of the array of bits. A GDI bitmap that can be rendered accurately on different devices because it contains a color table that can be read by the rendering device driver. These are standard format bitmaps created and supported by GDI through EngCreateBitmap.

dithering

A technique used to create the illusion of varying shades of gray on a monochrome display or printer, or additional colors on a color display or printer. Dithering relies on treating areas of an image as groups of dots that are colored in different patterns. Similar to halftones in photography.

EMF (enhanced metafiles)

EMFs are one type of spool file used the Windows NT print spooler. These spool files reduce the time spent between when the application makes a print request and when control is returned back to it. This is possible because the GDI functions calls that produce the application’s graphics object are stored directly in the EMF. The time-consuming execution of these stored GDI functions is carried out later, in the background, when the spool file is played back.

EMF spool files also promote printer device independence. For example, a picture measuring 2 inches by 4 inches on a VGA display and stored in an EMF maintains these original dimensions regardless of the DPI of the printer on which it is printed.

GCAPS (graphics capabilities bits)

A driver specifies its graphics capabilities by setting GCAPS flags in the flGraphicsCaps member of the DEVINFO structure. GDI obtains the GCAPS when it calls the driver’s DrvEnablePDEV routine.

GDI (graphics device interface)

GDI is split into two pieces. Win32 GDI is a user mode API used by Win32 applications that require graphics support. Kernel-mode GDI interfaces directly with kernel-mode graphics drivers, as well as the window manager.Kernel-mode GDI exports several services and functions that can be called by device drivers to perform a host of drawing and graphics-related operations. This eliminates the need for graphics drivers to implement much of the required graphics functionality.

The Win32 GDI library that is directly assessable to Win32 applications can be found in GDI32.DLL. It fields calls to the functions listed in wingdi.h and passes the application-supplied information to kernel-mode GDI by way of NT’s executive system services. The kernel-mode GDI library is found in WIN32K.SYS. Kernel-mode GDI communicates with a graphics driver by calling the driver’s implementations of the DDI functions listed in winddi.h.

Glyph

The actual shape (bit pattern, outline, etc.) of a character image. For example, an italic ‘a’ and a roman ‘a’ are two different glyphs representing the same underlying character. In this usage, “glyph” is a synonym for “character image” or simply “image.”

GPC (generic printer characterization)

Data files for the RasDD printer driver.

Graphics Engine

See the kernel-mode GDI definition under “GDI.”

HAL (hardware abstraction layer)

A Windows NT executive component providing platform-specific support for the Windows NT Kernel, I/O Manager, kernel-mode debuggers, and lowest-level device drivers. The HAL exports routines that abstract platform-specific hardware details about caches, I/O buses, interrupts, and so forth, and provides an interface between the platform’s hardware and the system software. For example, the HAL implements a routine to map each device driver’s bus-relative device interrupt vector to a system-assigned vector with a corresponding platform-specific hardware priority (DIRQL), as well as several routines that provide DMA-transfer support.

The DirectDraw HAL is the hardware-specific code of a display driver that provides DirectDraw support.

hook

A callback function that handles I/O port and board memory accesses. Synonym for handler.

HS (horizontal minimum feature size)

IEEE 1284 Bi-Directional Parallel Peripheral Interface

Interface standard that adds bidirectional communication capabilities to peripheral devices that are connected to a computer’s parallel port.

IOCTL (input/output control)

Functions that handle control of I/O within a device driver module.

IRP (I/O request packet)

An IRP is the basic I/O Manager structure used to communicate with drivers and to allow drivers to communicate with each other. A packet consists of two different parts:

1. Header, or fixed part of the packet ¾ Used by the I/O Manager to store information about the original request, such as the caller’s parameters and the address of the device object upon which the file is open. It is also used by drivers for storing information such as the final status of the request. See also I/O status block and device object.

2. I/O stack locations ¾ Following the header is a set of I/O stack locations, one per driver in the chain of layered drivers for which the request is bound. Each stack location contains the parameters, function codes, and context used by the corresponding driver to determine what it is supposed to be doing.

kernel mode

The privileged processor mode in which Windows NT executive code runs. A driver or thread running in kernel mode has access to system memory and hardware. See also user mode.

language monitor

Spooler component that allows the spooler to configure and monitor the status of a bidirectional printer. Printer vendors define the language used by a language monitor.

NTVDM or VDM

Windows NT virtual DOS machine.

palette

A color lookup table.

PCD (Plotter Characterization Data)

A DLL that provides device-specific information to a graphics plotter driver.

PDEV

A logical representation of a phyiscal device. A PDEV is private to a driver and contains all the information and data that represents the associated physical device. As part of enabling a PDEV, a driver provides information to GDI that describes the requested device and its capabilities. Important information that the driver gives GDI is a set of flags that allow GDI to determine what kinds of operations the PDEV (and the requested device) supports. For example, GDI can test the flags returned as part of the PDEV to determine whether or not the requested device can handle Bezier curves and geometric wide lines.

PFM (printer font metrics)

Files that describe fonts for a printer.

PJL (printer job language)

Language that implements communication between a bidirectional printer device and a computer. PJL was defined and implemented by Hewlett-Packard. For a full definition of the PJL language, contact H-P.

port monitor

Spooler component that controls the I/O port to which the printer is connected.

PPD (PostScript printer description)

A file read by the generic PostScript driver as part of device initialization. PPD files conform to specifications published by Adobe Corporation and are supplied by PostScript printer manufacturers.

preimaging

The process of building a movie frame in a memory buffer before it is displayed.

RasDD

Raster printer device driver. This driver supports raster (bitmap) graphics printing.

realized brush

A data structure containing information and accelerators that the display driver needs in order to fill an area with a pattern.

resolution

For joysticks, resolution refers to the minimum and maximum intervals between joystick messages sent for a captured joystick.

For timers, resolution refers to the accuracy of the timer event. A resolution value of zero means the event must occur at the exact time requested, while a resolution value of ten means the event must occur within ten milliseconds of the requested time.

RIFF chunk

A chunk with chunk ID RIFF that includes an identifying code and zero or more sub-chunks, the contents of which depend on the form type.

RIFF file

A file whose format complies with one of the published RIFF forms. Examples of RIFF files include WAVE files for waveform audio data, RMID files for MIDI sequences, and RDIB files for bitmaps.

RIFF form

A file-format specification based on the RIFF standard.

RIFF (resource interchange file format)

A tagged-file specification used to define standard formats for multimedia files. Tagged-file structure helps prevent compatibility problems that often occur when file-format definitions change over time. Because each piece of data in the file is identified by a standard header, an application that does not recognize a given data element can skip over the unknown information.

RLE bitmaps (run-length encoded bitmaps)

Bitmaps are compressed to reduce disk and memory storage required for the bitmap. Encoding format is specified in the biCompression member of the BITMAPINFO structure.

ROP (raster operation)

A bitwise operation applied to the bits of color data for the replicated brush and the bits of color data for the target rectangle on the display. There are 256 ROPs in Windows.

standard format bitmap

Single plane, packed-pixel (where the data for each pixel is stored in a contiguous manner) format bitmaps created and supported by GDI through EngCreateBitmap. Each scan line of the bitmap is aligned on a four-byte boundary. Standard format bitmaps code information at a rate of 1, 4, 8, 16, or 32 bits per pixel.

streaming

The process of transferring information from a storage device, such as a hard disk or CD-ROM, to a device driver. Rather than transferring all the information in a single data copy, the information is transferred in smaller parts over a period of time, typically while the application is performing other tasks.

surface

Drawing and text output require a surface, associated with the requested device, on which to draw. Such a device surface is a subset of an array of 2 (28) by 2 (28) pixels. These pixels are addressed by pairs of 28-bit signed numbers; the upper leftmost pixel of the device surface is given the coordinates (0,0). The device surface lies in the lower right quadrant of this coordinate space, where both coordinates are nonnegative. A surface is associated with a particular PDEV.

tagged file format

A file format in which data is tagged by using standard headers that identify information type and length.

threshold

For the joystick interface, the movement threshold is the distance in device units the coordinates must change before the application is notified of the movement. Setting a high threshold reduces the number of joystick messages sent to your application, however, it also reduces the sensitivity of the joystick.

Tile

Repetition of a brush pattern, to cover an entire device surface.

UMB (upper memory block)

Unitool

Development tool that allows raster printer driver writers to easily develop a minidriver. Unitool is shipped with the Windows NT DDK.

user mode

The nonprivileged processor mode in which application code, including protected subsystem code, runs. User-mode applications cannot gain access to system data except by calling subsystem-supplied functions, which, in turn, call system resources. See also kernel mode.

VDD (virtual device driver)

A device driver that operates in user mode and communicates with a corresponding device driver in kernel mode. A VDD supports only special-purpose hardware devices from an MS-DOS application. An instruction emulator that converts x86 instructions to MIPS instructions. The virtual device driver acts as a layer between MS-DOS applications and the hardware attached to the Windows NT machine.

VDM (virtual DOS machine)

VS (vertical minimum feature size)

Windows NT virtual DOS machine

A protected environment subsystem that emulates MS-DOS and 16-bit Windows within Windows NT. A VDM is created whenever a user starts an MS-DOS application on Windows NT.

WOW (Windows on Win32)

A protected subsystem that runs within a VDM process. It provides a 16-bit Windows environment capable of running any number of 16-bit Windows applications on Windows NT.

xlate object (translate object)

Tables that assist in palette management, to translate an application’s color index into a graphics index.