摘要: 景背 最近学习TDI过滤,做一个简单的网络连接控制。当前的需求时驱动层进行了过滤,想把相应的过滤做成事件通知给应用层并显示。 思路 没有特别好的方法,本人采用的思路是驱动创建一个设备进行通讯,客户启动后创建一个线程,该线程调用 DeviceIoControl,驱动层将该操作的IRP挂起,然后有数据时 阅读全文
posted @ 2023-02-27 17:53 禁锢在时空之中的灵魂 阅读(50) 评论(0) 推荐(0) 编辑
摘要: 一般设置IRP取消例程很简单,大致代码如下 { ...... IoSetCancelRoutine(pIrp, LogIRPCancelRoutine); pIrp->IoStatus.Status = STATUS_PENDING; return STATUS_PENDING; ...... } 阅读全文
posted @ 2023-02-27 17:12 禁锢在时空之中的灵魂 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 驱动层创建 { ...... UNICODE_STRING usMyControlDevice = RTL_CONSTANT_STRING(MY_CONTROL_DEVICE_NAME); ntStatus = IoCreateDevice(pDriverObject, NULL, &usMyCon 阅读全文
posted @ 2023-02-27 16:49 禁锢在时空之中的灵魂 阅读(28) 评论(0) 推荐(0) 编辑