分析是一门科学,设计是一门艺术

每天进步一点点

导航

2009年11月30日 #

在驱动和应用程序间共享内存

摘要: 在不同的场合,很多驱动编写人员需要在驱动和用户程序间共享内存。两种最容易的技术是: l 应用程序发送IOCTL给驱动程序,提供一个指向内存的指针,之后驱动程序和应用程序就可以共享内存。(应用程序分配共享内存) l 由驱动程序分配内存页,并映射这些内存页到指定用户模式进程的地址空间,并且将地址返回给应用程序。(驱动程序分配共享内存) 使用IOCTL共享Buffer: 使用一个IOCT描述的B... 阅读全文

posted @ 2009-11-30 11:02 布衣(Dream2008) 阅读(1250) 评论(0) 推荐(0) 编辑

驱动层和应用层的同步通信

摘要: 驱动层和应用层的同步通信 首先是同步问题,通过Ring3创建事件,并将该事件传递给Ring0,同时Ring3创建监控线程,等待Ring0发起事件。 监控到事件(通知) Ring0(监控)----------------------------------------------------------------> Ring3 应用层得到事件通知后,向驱动层发起数据获取请求。由Rin... 阅读全文

posted @ 2009-11-30 10:48 布衣(Dream2008) 阅读(615) 评论(0) 推荐(0) 编辑

【转帖】Ndis中间层驱动自己发包的实现(经典问题) 收藏

摘要: 这个问题,大部分学习Ndis中间层的人都会去思考,算是一个比较经典的问题了。 到论坛上问,别人只会告诉你大概的方法和步骤,这里贴出具体的代码,希望对研究Ndis中间层的哥们有些帮助: NDIS_STATUS MySendPacket ( NDIS_HANDLE NdisBindingHandle, NDIS_HANDLE NdisSendPacketPool, PVOID pBuffer,... 阅读全文

posted @ 2009-11-30 09:16 布衣(Dream2008) 阅读(902) 评论(0) 推荐(0) 编辑