我试图说服Visual Studio 2013构建驱动程序。但是从未见过Visual Studio 2013成功构建驱动程序,我不知道如何解决问题。
所以现在是时候回到起点了。删除整个解决方案并开始逐个添加,直到无法构建。除了我无法得到一个空的解决方案来构建。
在Visual Studio 2013中,我选择:
我现在有一个新的,空的驱动程序解决方案:
除非我尝试构建它,否则它会失败:
SIGNTASK:SignTool错误:找不到文件:D:\ Develop \ TestDriver \ MyDriver3 \ Win7Debug \ MyDriver3.sys
现在该错误并非意料之外,解决方案中甚至没有代码构建到.sys
文件中!
现在让我们通过添加一个空的WDM驱动程序文件来创建一个空的WDM驱动程序项目:
由source.c
#include <wdm.h>
NTSTATUS DriverEntry(PDRIVER_OBJECT object, PUNICODE_STRING registryPath)
{
return STATUS_SUCCESS;
}
现在这也失败了,但是这次它失败的时候出现与上次完全相同的错误信息:
SIGNTASK:SignTool错误:找不到文件:D:\ Develop \ TestDriver \ MyDriver3 \ Win7Debug \ MyDriver3.sys
哪个有意义,没有MyDriver3.sys
个文件。不在那个文件夹中,不在任何地方。这里没有.sys
个文件,那里没有.sys
个文件。任何地方都没有.sys
个文件。
所以这给我留下了一个问题:
如何创建基本的空WDM驱动程序?
我担心即使Visual Studio确实创建了.sys
文件,它也只会fail on the next error。所以我喜欢的是一个空WDM解决方案的典型例子 - 构建。
答案 0 :(得分:0)
我没有使用包构建,但仍然需要: 1)转到Solutions Explorer并选择Configuration Manager 2)在Configuration Manager中,选择Active Solution Configuration 在我的例子中,它是Active Solution Configuration:Win8.1 Debug Active Solution Platform:x64 这就是全部 - 只需按下构建
答案 1 :(得分:0)
听起来像inf
文件中缺少某些指令,这些指令描述了要安装的驱动程序服务的名称,或者项目设置与您要实现的目标不正确。
如果您不想要驱动程序服务(在内核模式驱动程序中通常是.sys文件),则需要将Configuration Type
的项目设置从Driver
更改为Utility
并确保删除.inf文件中的服务安装指令。
这很短,但是项目配置中可能还有其他设置也不正确。