编写驱动必须清楚的三个概念(soft driver)

    技术2022-05-11  11

    驱动中最核心的三个问题1.输入输出请求包,irp(I/O request packet)windows操作系统是消息驱动的,你需要的功能通过发送irp来请求完成。驱动在处理irp的时候需要考虑传进来的参数,资源的地址(虚拟地址),在什么时候有效。第2问题来解答

    2.上下文,你写的代码在哪个上下文中跑(context)要点: 1).有三种上下文,系统,特定用户,任意 2).虚拟地址的有效性,主要是数据,资源传输和访问的问题,能不能访问?第3个问题来解答

    3.中断请求级,irq(Interupt ReQuest)在高中断请求的时候应该注意的一些问题,在处理高中断请求的时候,代码所处的上下文是任意的

    其中1和3涉及的东西比较多。。。。

    剩下的问题就是你去熟悉windows的操作系统运行机制和内核的接口,多写代码,在这个过程中你会对前面的三个核心问题又有个新的认识,有新的认识后促使你更熟悉windows操作系统,一个良性循环

    学习资料1.windows ddk,ifs的帮助文档,最好读英文的^_^2.windows 源代码3.windows 出的internal系列的Microsoft.Press.Microsoft.Windows.Internals.Fourth.Edition.Dec.2004.internal_English4.inside 系列的Inside Windows 2000(third version)_English5.undocument 系列Undocumented Windows 2000 SecretsUndocumented Windows NT_Chinese6.<<Microsoft Windows Driver Model>>

    下次来讲如何调试和符号配置的问题

     

    最新回复(0)