NATIVE AND STREAM DRIVERS

What loads a driver determines the operating system interface that must be implemented by the driver. Some core operating system drivers are loaded by GWES Manager (Graphical Windows and Event System), whereas most are loaded by Device Manager. Drivers loaded by GWES are native drivers because they are specific to the function they provide, whereas those loaded by Device Manager are stream drivers.

Native drivers expose an API other than the stream interface. Each native driver implements functions specific to its purpose. Compact 7 native drivers loaded by GWES encompass display and I/O devices such as the following:

  • Display
  • Keyboard
  • Mouse and touch
  • Printer interface

GWES supports all the windows, dialog boxes, controls, menus, and resources that make up the Windows Embedded Compact user interface (UI), which enables users to control applications. In Compact 7 there is a change from CE 6 in that GWES drivers are loaded by gwesuser.exe rather than gwes.dll. Also the GWES interface required for each of these is specific to the functionality of the driver. For example, a display driver implements functions such as shown in Table 30-1.

TABLE 30-1: Some Display Driver Functions

DisplayInit DrvSetPalette ContrastControl
DrvGetModes DrvMovePointer DrvGradientFill

These functions would not make any sense in a mouse, keyboard touch, or printer driver. A printer driver can implement eight functions relevant to printing documents, as shown in Table 30-2 ...

Get Professional Windows® Embedded Compact 7 now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.