2.1.2 GDI Information Structure

Every display driver has a GDIINFO structure that specifies the display's capabilities and characteristics. GDI uses this information to determine what the display driver can do and what GDI must simulate. The GDI information can be classified as follows:

Driver management

Driver capabilities

Device dimensions

The driver-management information specifies the version of Windows for which the driver was written, and the type of technology the display uses to generate output. Additionally, the driver-management information also specifies the size in bytes of the PDEVICE structure, and number of device contexts the driver can manage at the same time. The version number specifies a Windows version (not the display driver version). For example, a display driver written for Windows 3.1 should set the dpVersion member to 0x30A.

The driver-capabilities information specifies the capabilities of the display device, such as whether the display hardware can draw polygons and ellipses, scale text, or clip output. Driver capabilities also specify the number of brushes, pens, fonts, and colors available on the display and whether the display can handle bitmaps and color palettes.

The device-dimension information specifies the maximum width and height of the screen in both millimeters and device units, the number of color bits or planes, the aspect ratio, the minimum length of a dot in a styled line, and the number of device units (or pixels per inch).

The subsequent sections of this chapter describe the GDIINFO structure more fully. Each section describes the capabilities associated with given members and explains how to determine what capabilities a display driver can support.