![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
驱动
文章平均质量分 81
踏雪公子
这个作者很懒,什么都没留下…
展开
-
【驱动之三】派遣函数
派遣函数是WIndows驱动程序中的重要概念。驱动程序的主要功能是负责处理I/O请求,其中大部分I/O请求是在派遣函数中处理的。用户模式下所有驱动程序的I/O请求,全部由操作系统转化为一个叫IRP的数据结构,不同的IRP会被派遣到不同的派遣函数(Dispatch Function)中。1、IRP与派遣函数IRP的处理机制类似WIndows应用程序中的“消息处理”机制,驱动程原创 2014-05-04 01:32:54 · 1771 阅读 · 0 评论 -
【驱动之四】Nt和Zw
Ring3中的NATIVE API,和Ring0的系统调用,都有同名的Zw和Nt系列函数,一度让初学者感到迷糊。现在就以ZwOpenProcess和NtOpenProcess函数为例,详细阐述下他们的分别和联系。 ntdll.dll导出了NtOpenProcess和ZwOpenProcess两个函数,我们记为ntdll!NtOpenProcess和ntdll!ZwOpenProcess。仔细看原创 2014-05-05 02:24:38 · 1179 阅读 · 0 评论 -
【驱动之一】IRP结构
一、IRP 简介 IRP是I/O Request Pcaket 的缩写,即I/O请求包。驱动与驱动之间通过 IRP 进行通信。而使用驱动的应用层调用的 CreatFile,ReadFile,WriteFile,DeviceIoControl 等函数,说到底也是使用 IRP 和驱动进行通信。IRP由I/O管理器根据用户态程序提出的请求创建并传给相应的驱动程序。在分层的驱动程序中原创 2014-05-05 02:37:40 · 1041 阅读 · 0 评论 -
【驱动之二】IO_STACK_LOCATION总结
typedef struct _IO_STACK_LOCATION { UCHAR MajorFunction; UCHAR MinorFunction; UCHAR Flags; UCHAR Control; union { // // Parameters for IRP_MJ_CREATE // s原创 2014-05-03 22:45:54 · 986 阅读 · 0 评论