gpt4 book ai didi

c - 卸载 Windows 驱动程序

转载 作者:可可西里 更新时间:2023-11-01 13:47:01 26 4
gpt4 key购买 nike

前段时间我决定学习如何编写驱动程序。不幸的是,我没有走得太远,因为对于测试驱动程序来说,能够在不需要重新启动机器的情况下卸载它是很重要的。现在我回到了它,但我无法靠自己克服它。

现在我想只是为了让问题更直接,你肯定想看到这个:

VOID Unload(PDRIVER_Object DriverObject)
{
DbgPrint("Unload\r\n");
}

NTSTATUS DriverEntry(PDRIVER_OBJECT pDriverObject, PUNICODE_STRING pRegistryPath)
{
DbgPrint("Entry\r\n");
pDriverObject->DriverUnload = Unload;

return STATUS_SUCCESS;
}

在 DbgView 中它会打印“Entry”消息,但是在卸载驱动程序时它不会打印“Unload”消息。实际上试图停止驱动程序服务会将其状态更改为 NOT_STOPPABLE。然后,如果我想再试一次,我必须重新启动。我使用 Windows 7 工作,结果相同,我尝试使用 TESTSIGNING ON 启动并且不需要签名。有点奇怪的是除非我在入口函数中创 build 备,否则负载也不起作用。只有这样我才能在\Driver 目录中找到我的带有 winobj 的驱动程序。我也在另一台安装了 Win7 的机器上尝试过,但结果证明本地设置不是问题。如果您认识到这种内核行为,我真的很想听听,谢谢。

实际上,如果知道一些可以加载 .sys 然后能够卸载它的程序,请删除链接或名称。不需要源代码,可执行文件应该可以……反之亦然……谢谢。

最佳答案

驱动程序开发 - 使用 OSR Driver Loader

关于c - 卸载 Windows 驱动程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21460573/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com