Display Driver Architecture

A display driver for the Microsoft® Windows® 95 operating system is a dynamic-link library (DLL) that translates device-independent commands from the graphic-device interface (GDI) into commands and actions that the display adapter uses to draw graphics on the screen. The display driver also gives information to Windows regarding the display hardware, such as color resolution, graphics capabilities, screen size and resolution, and other display features.

To help you create more efficient display drivers, Microsoft supplies the DIB engine, a DLL that contains most of the functions needed to translate GDI commands. A display driver that uses the DIB engine is called a display minidriver. The minidriver only contains hardware-specific code for your display adapter and redirects the non-device specific calls from GDI to the DIB engine.

To display output from a non-system virtual machine (typically a MS-DOS application), Windows needs a virtual display device (VDD). Microsoft supplies a standard VDD and only requires you to create a virtual display minidriver (mini-VDD) to handle your adapter's hardware-specific virtualization. The VDD is called by the grabber (VGAFULL.3GR) whenever a windowed virtual machine needs to display output. The VDD enables the smooth transition from Windows hi-resolution mode to full screen VGA mode and back again. The VDD also receives information from the display minidriver, which it can pass along to the mini-VDD.

To help manage the frame buffer for your display adapter, Microsoft supplies the virtual flat frame buffer device (VFLATD). This virtual device provides support for bank-switched frame buffers larger than 64K.

The following illustration shows the Windows 95 display-driver architecture.