Programming 版 (精华区)

发信人: zpw (zhao), 信区: Programming
标  题: FAQ for VXD(之二)
发信站: 紫 丁 香 (Tue Jul 28 14:09:46 1998), 转信

What are the differences between device drivers for Windows 3.1, Windows 3.11,
Windows 95, and Windows NT?
     Windows 3.x and Windows 95 share a common device driver model.  Windows NT
     depends an a completely new, and completely incompatible driver model.
     Let's discuss Windows 3.x and Windows 95 first, then a brief word about
     Windows NT, and finally some discussion about compatibility between NT and
     Windows 3.x/95.
     
     There are really two kinds of device drivers for Windows 3.x/95.  Virtual
     Device Drivers (VxDs) run as part of the privileged (ring-0) operating
     system. VxDs can be thought of as a DLL for the operating system.  Running
     at ring 0, VxDs have complete access to the physical hardware, and can
     access data in the address space of any DOS, Windows, or Protected Mode
     application.  Under Windows 3.x, VxDs are typically given a .386 file
     extension, and are loaded when Windows starts.  Under Windows 95, VxDs are
     given the .VXD file extension, and may be loaded at startup time, or
     dynamically loaded later.
     
     Windows 95 uses the same basic architecture for VxDs as Windows 3.x.  Thus,
     drivers written for Windows 3.x can be loaded on a Windows 95 system and
     should generally work fine.  However, Windows 95 adds hundreds of new
     services for VxDs, and extends the VxD architecture to allow full dynamic
     loading, pageable code and data, access to the system registry, interfaces
     to Win32 applications, and many other features.  VxDs written for Windows
     95 cannot be loaded on a Windows 3.x system.
     
     In addition to VxDs, Windows 3.x/95 supports non-privileged (ring-3)
     Communication and Printer drivers.  These are typically given .DRV file
     extensions.
     
     Windows NT uses a new driver architecture, called "Kernel Mode Drivers".
     Refer to the Windows NT DDK for detailed information.  VxDs are not
     compatible with Windows NT.
     
     In order to provide compatibility between Windows NT and Windows 95/3.x,
     Microsoft provides "Miniport Drivers" for certain kinds of devices.
     Miniports allow driver developers to write a single driver using a pre-
     defined interface that is provided on both Windows NT and Windows 95/3.x.
     Microsoft provides Miniport drivers for SCSI, Printer, and Display devices.


--
※ 来源:.紫 丁 香 bbs.hit.edu.cn.[FROM: yaoyu.hit.edu.cn]
[百宝箱] [返回首页] [上级目录] [根目录] [返回顶部] [刷新] [返回]
Powered by KBS BBS 2.0 (http://dev.kcn.cn)
页面执行时间:4.237毫秒