网络驱动应用开发 --续二

  
大家好,前面,我们已经讲了开发网络驱动应用一些基本具备的技能。现在我们一起探讨下Windows下驱动的构架和相关部分。主要是包括三部分:
Windows的系统构架
Windows驱动的类型
Windows组件
对各个介绍不是非常的详细,望大家能理解。有兴趣的朋友可以参考相关资料,做比较详细的了解。对以后的开发有总体上的认识。能把握住方向。少走弯路。废话少说,我们就进入主体吧。
 
 
 
A  首先我们了解Windows的系统构架
   
 
 
   
每个组件的功能在此我就不用叙述。有兴趣的朋友可以参考Windows驱动的相关开发资料。常用的如DDK.
接下来我们需要了解Windows驱动的类型,可以分为用户模式(User-Model)与内核(Kernel-Model)
以下是关于原文的引用叙述如下:There are two basic kinds of Windows drivers:

User-mode drivers (such as some printer driver components, along with Win32® VDDs for MS-DOS® applications and application-dedicated devices) or another protected subsystem's drivers.

Kernel-mode drivers for logical, virtual, or physical devices. These drivers run as part of the Executive, which consists of kernel-mode operating system components that manage I/O, Plug and Play, memory, processes and threads, security, and so on.

 Some kernel-mode drivers are also WDM drivers, All WDM drivers are PnP drivers that support power management. WDM drivers are source-compatible (but not binary-compatible) across the Microsoft Windows®  98/Me and Windows 2000 and later operating systems.
 
Windows驱动的类型
 
 
 
          
          Type Of Kernel-Driver P2.2
    
         每种驱动类型,我们要明白大致的作用。它可以帮助我们了解我们自己要编写的驱动属于那种类型。
 
正如上图所示,对于内核驱动大致又可以分为3中类型(引用原文)如下:
1 Highest level drivers, such as the system-supplied FAT, NTFS, and CDFS file system drivers (FSDs). Highest-level drivers always depend on support from underlying lower level drivers.
 
2 Intermediate drivers, such as a virtual disk, mirror, or device-type-specific class driver. Intermediate drivers also depend on support from underlying lower level drivers.
3 Lowest-level drivers, such as PnP hardware bus drivers that control an I/O bus on which some number of peripheral devices are connected. Lowest-level drivers do not depend on lower-level drivers, but control a physical peripheral device such as a bus.
      
      以上部分简单的叙述了各种驱动的功能及应用。
 
    
Windows组件
     Windows Component Overview(p2.3
      
      该图从总体上说明了驱动由用户模式到内核模式的一个接口,转换。最后到达硬件。以上介绍的都是从总体上,一个大体的概念,对系统整体的认识,对它的理解有助于我们后期的快速学习。就以以上为例,用户应用程序通过Win32 API接口发起调用一般通过CreatFile建立一个句柄,如果建立成功,则通过驱动程序倒出的接口一般都根据功能提供响应的命令控制字(I/O control code)进行调用,用户模式应用程序就可以与驱动进行通讯,传递数据并进行相关的控制。应用层主要是用DeviceIoControl进行相关的命令控制字(I/O control code)的调用。驱动和应用层的通讯,在后边还会做比较详细的讨论。
 
        好拉,由于时间问题,今天就到此为止。有兴趣的朋友可以参考相关的文档。本人乐意与其讨论交流,共同进步。有很多不对的地方望大家批评指出。谢谢!
    
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章