我的司机卸载功能有问题。因为我使用MmGetSystemAddressForMdlSafe函数,所以必须将DeviceObject标志设置为DO_DIRECT_IO。(DeviceObject->Flags = DO_DIRECT_IO)这个指针在我的代码中造成了很多麻烦,因为我不能正确地卸载驱动程序。在WinDbg中,我可以看到卸载函数被正确调用。它正在删除Symboliclink,但出于未知的原因,它并没有从Windows中删除DeviceObject。IoDeleteDevice(DriverObject->DeviceObject)我可以在Winobjects中看到DeviceObject仍然存在(只有Symboliclink被删除),即使在卸载驱动程序之后,我的.sys文件仍然在系统进程中加载。在指向DeviceObject->Flags = DO_DIRECT_IO之后,我该如何卸载驱动程序?我的目标是正确卸载驱动程序。
发布于 2021-08-23 09:51:38
而不是DeviceObject->Flags = DO_DIRECT_IO,我不得不设置DeviceObject->Flages|= DO_DIRECT_IO;
https://stackoverflow.com/questions/68890326
复制相似问题