DOCUMENT:Q100371  21-JUN-1993  [W_NT]
TITLE   :INF: Video Drivers (Three-Part Model)
PRODUCT :Windows NT
PROD/VER:3.10
OPER/SYS:WINDOWS
KEYWORDS:

--------------------------------------------------------------------
The information in this article applies to:
 
 - Microsoft Windows NT operating system version 3.1
 - Microsoft Windows NT Advanced Server version 3.1
--------------------------------------------------------------------

Summary:
 
Windows NT video display drivers are implemented in three parts: the
port driver, the Miniport driver, and the display driver. The
following sections provide information on these modules.
 
Port Driver
-----------
 
The port driver is a hardware independent driver that communicates
with the Windows NT IO Manager and the Miniport driver. Only one port
driver is needed because it contains no video adapter specific
information. The port driver does the following:
 
 - At the direction of IO Manager, the port driver initializes the
   Miniport driver.

 - It handles the synchronization of multithreaded requests, ensuring
   each single-thread Miniport driver receives requests in the proper
   order.

 - It handles many higher level video driver functions, such as video
   memory mapping and initializing the video for virtual MS-DOS
   machines (VDMs).
 
Port driver information is stored in the following subkey in the
Registry:
 
   HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Videoprt
 
Miniport Driver
---------------
 
The Miniport driver communicates directly with the video adapter and
contains video adapter specific information. There is a different
Miniport driver for every video adapter, but because the port driver
handles much of the higher-level functionality of the video display
and the Miniport driver need only provide an interface to the port
driver, Miniport drivers are very small. The Miniport driver handles
mode switching, interrupt requests, and I/O control codes (IOCTLs) not
processed by the port driver.
 
Display Driver
--------------
 
The display driver operates in user mode and communicates between the
IO Manager and the Windows NT graphical device interface (GDI) and
device driver interface (DDI). The display driver is a portion of the
Win32 subsystem, and like the port driver, knows nothing about the
video adapter hardware. It does, however, have the ability to request
such information if needed by an application.
 
Additional reference words: 3.10

=============================================================================

THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS
PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND.  MICROSOFT DISCLAIMS
ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.  IN NO
EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR
ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL,
CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF
MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE
POSSIBILITY OF SUCH DAMAGES.  SOME STATES DO NOT ALLOW THE EXCLUSION
OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES
SO THE FOREGOING LIMITATION MAY NOT APPLY.

Copyright Microsoft Corporation 1993.