首页 文章

如何创建一个基本的,空的WDM驱动程序?

提问于
浏览
1

我试图说服Visual Studio 2013构建一个驱动程序 . 但从未见过Visual Studio 2013成功构建驱动程序,我不知道如何解决问题 .

所以是时候回到起点了 . 删除整个解决方案并开始逐个添加,直到无法构建 . 除了我无法得到一个空的解决方案来构建 .

让我们创建一个新的空WDM驱动程序项目

在Visual Studio 2013中,我选择:

  • FileNewProject

  • TemplatesVisual C++Windows DriversWDM

  • Empty WDM Driver

我现在有一个新的,空的驱动程序解决方案:

enter image description here

除非我尝试构建它,否则它会失败:

SIGNTASK:SignTool错误:找不到文件:D:\ Develop \ TestDriver \ MyDriver3 \ Win7Debug \ MyDriver3.sys

现在该错误在构建到 .sys 文件的解决方案中甚至没有't unexpected, there isn'!

所以我会添加一些代码

现在让我们通过添加一个空的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驱动程序?

所以这给我留下了一个问题:

如何创建基本的空WDM驱动程序?

我担心即使Visual Studio确实创建了一个 .sys 文件,它也只是fail on the next error . 所以我想要的是一个空的WDM解决方案的一个典型例子 - 构建 .

奖金阅读

2 回答

  • 0

    我没有使用包构建,但您仍然需要:1)转到Solutions Explorer并选择Configuration Manager 2)在Configuration Manager中,选择Active Solution Configuration在我的例子中,它是Active Solution Configuration:Win8.1 Debug Active Solution Platform: x64这就是全部 - 只需按下构建

  • 0

    听起来你错过了 inf 文件中的一些指令,这些指令描述了你想要安装的驱动程序服务的名称,或者你的项目设置对于你想要实现的目标是不正确的 .

    如果您不想要驱动程序服务(通常是内核模式驱动程序中的.sys文件),则需要将 Configuration Type 的项目设置从 Driver 更改为 Utility ,并确保删除.inf文件中的服务安装指令 .

    这是它的缺点,但项目配置中可能还有其他设置也是不正确的 .

相关问题