0

我一直在使用 WDK 10,并且已将 rpcrt4.lib 添加到链接器中。我的驱动程序已成功构建。当我尝试使用命令 net start mydriver 运行驱动程序时。我收到系统错误 2 消息。我尝试使用dependency walker,但没有看到任何dll文件丢失。当我从附加依赖项中删除 rpcrt4.lib 时,我可以毫无问题地运行驱动程序。但是当我添加 rpcrt4.lib 时,它构建成功,但是在编写 net start mydriver 时它会给出系统错误 2。我需要 rpcrt4.lib,因为我正在使用函数 UuidCreate。

过去 1 周我一直在研究这个问题,但没有找到任何东西。

谢谢

4

1 回答 1

2

Rpcrt4.dll是用户模式的dll,不能在内核空间中使用。当然,您的驱动程序无法加载代码STATUS_OBJECT_NAME_NOT_FOUND(映射到 win32 错误ERROR_FILE_NOT_FOUND(2)) - 系统搜索注册Rpcrt4.dllHKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services找到

要在内核模式下创建 uuid,您需要使用ExUuidCreate

于 2017-03-08T17:41:50.740 回答