我正在编写一个由内核模式驱动程序和用户模式windows服务组成的软件。 内核驱动程序需要通知服务不同的事件和信息,然后服务将处理。
我的问题是:build立这种沟通的最佳方式是什么? 我知道使用微filter和FilterGetMessage()可以从内核获取消息,但是这需要轮询内核以获取新数据。 当需要处理新的数据时,我需要一个让内核通知服务的系统。
作为一个方面说明,服务本身使用生产者消费者模式,所以会有一个线程专门用于从内核获取数据,并将其放入另一组工作线程的队列中进行处理。 任何关于这个devise的想法也是受欢迎的。
在windows中,默认禁用本地内核deBUGging。 为什么?
为什么窗口在内核中处理滚动条?
内核线程 – “kthreadd”
无法理解linux内核模块中read_proc的工作
计时初始化给出了任何指示?
原始克隆系统调用
如何从IRP_MJ_CREATEcallback获得OpenResult?
如何拦截linux信号? (在C)
为什么要使用这些怪异的嵌套结构
在内核模块代码中重新定义macros警告
为什么不在服务端使用Readfile或DeviceIoControl? 驾驶员侧简单的IRP,当你有东西要报告时完成。 该服务将需要启动线程或使用I / O完成回调。 并且Cancelio在服务退出时取消阻塞呼叫。
总结
以上是内存溢出为你收集整理的将事件从内核模式发送到Windows服务全部内容,希望文章能够帮你解决将事件从内核模式发送到Windows服务所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
请登录后查看评论内容