DDI Functions (Windows Embedded CE 6.0)

1/6/2010

All display drivers must implement the DDI functions. However, only DrvEnableDriver must be exported from the display driver's DLL, which means that only DrvEnableDriver can use this exact name.

If your display driver must use the PCI information in the registry, as populated by the PCI bus driver, it needs to implement and export DisplayInit.

You can customize the names for other functions because they are exposed to the GDI through function pointers that are returned by DrvEnableDriver. Regardless of name, all functions must follow the prototypes in the Winddi.h header file.

The following table shows the DDI functions that display drivers must include.

Function Description

DisplayInit

Passes instance information, which allows the driver to find PCI configuration information for its device.

The PCI bus driver populates the information if the driver has a PCI template in the registry. This is the first display driver function called by GWES.

DrvAnyBlt

Performs bit block transfers, with stretching or transparency.

DrvBitBlt

Performs general bit block transfers, with clipping and masking.

Maps to the MoveToEx, Polygon, Polyline, Ellipse, Rectangle, PolyBezier, SetPixel, BitBlt, MaskBlt, Rectangle, ExtTextOut, DrawText, and ExtTextOut GDI functions.

DrvCopyBits

Sends a GDI-created print band to a printer driver.

Maps to the SetDIBitsToDevice GDI function.

DrvCreateDeviceBitmap

Creates and manages bitmap files.

DrvDeleteDeviceBitmap

Deletes a device bitmap file.

DrvDisableDriver

Notifies the display driver that the GDI no longer needs it and is ready to unload the driver.

DrvDisablePDEV

Notifies the driver that the GDI no longer needs a particular display device.

DrvDisableSurface

Notifies the driver that the GDI no longer needs a particular drawing surface.

DrvEnableDriver

Returns pointers to DDI functions to GDI. The initial entry point that is exposed by the driver. The driver exposes the second entry point if DisplayInit is implemented.

DrvEnablePDEV

Returns a PDEV structure to the GDI. A PDEV structure is a logical representation of a physical display device.

DrvEnableSurface

Creates a drawing surface and associates it with PDEV.

DrvEndDoc

Sends any control information that is needed to finish printing a document.

DrvEscape

Retrieves information from a device that is not available in a device-independent DDI. This function operates the same as with Windows NT, except that Windows Embedded CE does not support the DrvDrawEscape function.

DrvFillPath

Fills a drawing path with a brush.

Maps to the MoveToEx, Polygon, Polyline, Ellipse, Rectangle, and PolyBezier GDI functions.

DrvGetMasks

Gets the color masks for the display device's current mode.

DrvGetModes

Lists the display modes that are supported by the display device.

DrvMovePointer

Moves the pointer with a guarantee that the GDI will not interfere with the operation.

DrvPaint

Paints a specified region with a brush.

Maps to the MoveToEx, Polygon, Polyline, Ellipse, Rectangle, and PolyBezier GDI functions.

DrvPowerHandler

Called to handle POWER_UP and POWER_DOWN notifications.

DrvRealizeBrush

Creates a brush with parameters that are specified by the GDI.

DrvRealizeColor

Maps an RGB color onto the closest available color that is supported by the device.

DrvSetPalette

Sets the display device's palette.

DrvSetPointerShape

Sets the pointer to a new shape and updates the display.

DrvStartDoc

Sends any control information that is needed to start printing a document.

DrvStartPage

Sends any control information that is needed to start printing a new page.

DrvStrokePath

Renders a drawing path.

Maps to the MoveToEx, Polygon, Polyline, Ellipse, Rectangle, and PolyBezier GDI functions.

DrvStrokeAndFillPath

Maps to the MoveToEx, Polygon, Polyline, Ellipse, Rectangle, and PolyBezier GDI functions.

DrvTransparentBlt

Bit block transfer, with transparency.

DrvUnrealizeColor

Maps a color in the display device's format onto an RGB value.

See Also

Reference

BitBlT Emulation Library Functions

Concepts

Display Driver Development Concepts
Display Driver Extensions
Display Driver Samples
Primary Display Drivers
Secondary Display Drivers
GPE Base Classes
GDI Support Services
Display Buffer Formats
Line Drawing
Display Driver Escape Codes
Display Drivers and the Run-Time Image

Other Resources

Display Drivers