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毫秒