Windows驱动开发易错点总结

总结一下在windows驱动开发中,经常会犯的错误,加以注意!

问题1: 没有完成IRP

这是个新手非常容易犯的错误,没有设置IRP状态,完成IRP。这会导致,调用该驱动的应用程序,无法关闭,即使被kill,也会变成系统进程存在,因为有资源在内核中没清理干净。

pIrp->IoStatus.Status = ntStatus;
pIrp->IoStatus.Information = 0;
IoCompleteRequest(pIrp, IO_NO_INCREMENT);

就这几行代码,千万别忘记!!!

上一篇:键盘过滤驱动源码


下一篇:64位内核开发第一讲,驱动框架.