我一直在使用WDK 10,我已将rpcrt4.lib添加到链接器中。我的驱动程序已成功构建。当我尝试使用命令net start mydriver运行驱动程序时。我收到系统错误2消息。我尝试使用依赖walker但我没有看到任何DLL文件丢失。当我从附加依赖项中删除rpcrt4.lib时,我能够毫无问题地运行驱动程序。但是当我添加rpcrt4.lib时,它构建成功,但在写入net start mydriver时会出现系统错误2.我需要rpcrt4.lib,因为我正在使用函数UuidCreate。
过去一周我一直在研究这个问题,但没有找到任何结果。
由于
答案 0 :(得分:2)
Rpcrt4.dll
是用户模式dll,不能在内核空间中使用。当然你的驱动程序是加载失败的代码STATUS_OBJECT_NAME_NOT_FOUND
(映射到win32错误ERROR_FILE_NOT_FOUND
(2)) - 在Rpcrt4.dll
下找不到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services
的系统搜索注册
要在内核模式下创建uuid,您需要使用ExUuidCreate