gpt4 book ai didi

c++ - 从内核模式向 Windows 服务发送事件

转载 作者:可可西里 更新时间:2023-11-01 12:08:11 24 4
gpt4 key购买 nike

我正在编写一个由内核模式驱动程序和用户模式 ​​Windows 服务组成的软件。内核驱动程序需要将不同的事件和信息通知服务,然后由服务处理。

我的问题是:建立这种沟通的最佳方式是什么?我知道可以使用微过滤器和 FilterGetMessage() 从内核获取消息,但这需要轮询内核以获取新数据。我需要一个系统,让内核在有新数据要处理时通知服务。

作为旁注,服务本身使用生产者消费者模式,因此将有一个线程专门用于从内核获取数据并将其放入队列以供另一组工作线程处理。也欢迎对此设计有任何想法。

最佳答案

为什么不直接在服务端使用 ReadFile 或 DeviceIoControl?驱动程序端的简单 IRP,当你有事情要报告时完成它。该服务将需要启动线程或使用 I/O 完成回调。和 CancelIo 在服务退出时取消阻塞调用。

关于c++ - 从内核模式向 Windows 服务发送事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3687963/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com