驱动开发(7)IRP与派遣函数

本文探讨了Windows驱动开发中的核心概念——I/O请求处理,重点关注IRP(I/O请求数据包)及其在驱动程序中的作用。驱动程序作为操作系统与硬件交互的桥梁,通过IRP来组织内核I/O请求。文章介绍了IRP结构,并提到IRP的处理通常在派遣函数(DispatchRoutine)中进行,这些函数在DriverEntry中注册。未来的内容将涉及如何在Win32应用程序中直接向设备发出I/O请求,并在驱动中处理这些请求。
摘要由CSDN通过智能技术生成
本博文由CSDN博主zuishikonghuan所作,版权归zuishikonghuan所有,转载请注明出处: http://blog.csdn.net/zuishikonghuan/article/details/50190339 

在上一篇博文中,介绍了NT驱动的基本结构,这几篇博文,博主来说说驱动开发的一个核心内容——如何处理I/O请求。

为何要处理I/O请求?因为通常一个驱动程序是为了控制硬件而设计的(虽然没有对应具体硬件的驱动远比有对应具体硬件的驱动要多得多),可以说,是操作系统与硬件通信的桥梁。而驱动程序就是为操作系统提供了一种抽象,驱动程序如何控制硬件,是硬件厂商和硬件开发人员的工作,而操作系统只需要将I/O请求发送到驱动程序里就行了。也就是说,驱动程序向上按照微软的相关规范和标准处理Windows NT内核中的I/O请求,向下控制不同接口,不同标准的硬件。这体现了微内核的思想。(注:Windows NT内核并不是微内核,或许叫混合内核是一个不错的选择&#x

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值