您的位置:首页 > 理论基础 > 计算机网络

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

2008-05-23 21:49 323 查看
最近事情特别多,都没有来得及整理一些开发方面东西。
前面把驱动的体系做了个简单的介绍,想必对驱动你有了对于网络过滤驱动NDIS与一般的驱动在体系上没有很大的变化,只是 对于网络过滤驱动,有它特殊的部分,对于中间驱动 .
在进行Windows内核驱动开发之前,我们需要知道和了解很多其他周边,外围的知识,如在XP以前的系统 如WIN3X,WIN95 ,WIN98,及其WIN2000.对于以前的在 这些平台台下驱动的构建。对于前面介绍过的驱动模型,及其WINDOWS驱动类型,WINDOWS的Components,内核驱动设计的目标,相关了解都是很重要的。
还有其他在驱动开发中的常用术语,如 Driver Object ,Device Object ,实际开发的例子中结合才能深刻体会具体的含义,否则必将空洞。需要的是理解而不是去记忆。特别是WIN98,WIN2000及其以后的系统广泛的使用WDM驱动模型,让我们开发驱动的时间,只要遵循它的规范,可以进行快速高效的驱动开发。
下面我们就以以下目录结合其他相关的深入开发





[b]前面我们已经介绍过驱动的分层体系。理解它 我们可以从一个实际的驱动来看其共性:首先用户发起一个请求,比如需要使用打印机打印指定的文档,我们用户并不会和硬件直接交付,用户层通过应用程序提供的接口,传递一个或则多个命令 给负责接口的部分。然后就由驱动来负责处理这些请求。驱动然后再进行内部处理,将处理结果,返回给调用者。如果当前驱动不能处理相应的请求,那么驱动有可能继续将请求向下传递。最终硬件完成指定的功能要求。在Windwos32 ,我们关心的驱动与用户接口层API进行通讯,也就是我们常说的驱动与应用程序的通讯,包括数据从WDM读取,然后将数据写入WDM。系统的有相关的文档入 Microsoft SDK 等。以下常用到的必将多的:[/b]

[b]

[/b]


[b] 至于他们怎么调用,入口参数,我们可以参考相应的文档,在此不作过多的介绍,在后面的实际遇到的时候再做详细讨论。

在了解拉与应用接口后,我们在看驱动内部是怎么实现处理的用户发起的请求。通常这些请求就是我们常见的IRP(Interupt Reqest Pakect) 在驱动内部,对应的有很多例程,他们之间传递信息大部分也是通过传递IRP,内核例程专门完成处理用户的请求操作和一些特殊的任务。这些例程根据驱动类型不同,有一些差异。对于WDM 驱动,大体结构上没有多大差别。对于驱动的例程,包括的必将多。下面我们把一些主要的例程贴出来。




[/b]





以上资料来自windows DDK驱动 个人做拉,一些小的整理。对于驱动的例程介绍我们今天就不介绍拉。由于时间关系,今天到此为止吧。在下篇在对驱动的例程作较多的介绍。

能在茫茫人海中遇到一个一起学习的人不容易,愿个人整理收集的点资料能对收集资料的你有点绵薄之力。你的评语就是就算对我最大的鼓舞。谢谢!!!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: