Table of contents
Collapse the table of content
Expand the table of content

Conditionally Required Graphics Driver Functions

Last Updated: 2/14/2017

Besides the functions that are always required, certain other functions may be required, depending on how a driver is implemented. The conditionally-required functions are listed in the following table. If the driver manages its own primary surface (using the EngCreateDeviceSurface function to get a handle to the surface), or its own offscreen bitmaps, the driver must also support several drawing functions. Drivers writing to standard format DIBs usually allow GDI to manage most or all of these operations. Displays that support settable palettes must also support the DrvSetPalette function.

It is more common for a printer driver than a display driver to define or draw fonts. A display driver is not required to handle fonts. If the hardware has a resident font, the driver must supply information to GDI about this font. This information includes font metrics, mappings from Unicode to individual glyph identities, individual glyph attributes, and kerning tables.

Entry PointWhen RequiredDescription


Device-managed surfaces

Translates between device-managed raster surfaces and GDI standard-format bitmaps.


Displays that support windows with different pixel formats on a single surface

Describes a PDEV's pixel format.


TrueType font drivers

Gives GDI access to a memory-mapped TrueType font file.


Font drivers

Specifies file to use for font realizations.


Printer drivers

Retrieves a GDI structure for a given font.


Font drivers

Asks driver for font driver capabilities.


Printer drivers

Retrieves information about a realized font.


Font drivers

Asks driver for font file information.


Printer drivers

Queries a tree structure defining one of three types of font mapping.


TrueType font drivers

Returns TrueType glyph handles to GDI.


TrueType font drivers

Gives GDI access to TrueType font files.


Devices that allow mode changes in documents

Transfers driver state from old PDEV to new PDEV.


Displays that support settable palettes

Realizes the palette for a specified device.


Displays that support windows with different pixel formats on a single surface

Sets a window's pixel format.


Device-managed surfaces

Renders a path on the display.


Drivers that support a pixel format with double buffering

Displays contents of a surface's hidden buffer.


Device-managed surfaces or drivers that define fonts

Renders a set of character images (glyphs) at specified positions.


Font drivers

Informs driver that a font file is not needed.

Send comments about this topic to Microsoft

© 2017 Microsoft