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