BugCheck 0xCE:DRIVER_UNLOADED_WITHOUT_CANCELLING_PENDING_OPERATIONS

在完成驱动程序closures子程序后,每隔一段时间做一个内核驱动程序,我会得到这个错误检查代码。

对于究竟发生了什么似乎很直接,但我不确定解决这个问题的最简单的方法。

有没有办法在驱动程序卸载方法等待其他事件完成,或者在驱动程序卸载子程序返回之前取消它们?

编辑:只是一个说明:这个错误检查是在返回时提出 – 成功输出return语句之前的最后一个日志。

事实证明,我已经调用PsSetLoadImageNotifyRoutine但没有在驱动程序卸载子例程中调用PsRemoveLoadImageNotifyRoutine