如何使用visual studio构建驱动程序?

时间:2009-06-24 09:33:27

标签: visual-studio driver wdk

有没有人有文章怎么做?

7 个答案:

答案 0 :(得分:10)

由于您没有提供Visual Studio的确切版本,请让我告诉您我所知道的选项。

Visual Studio 2012,2013和2015

各自的当代DDK / WDK版本: WDK 8,8.1和10(撰写本文时)。

借助WDK for Windows 8,Microsoft的WDK团队最终再次直接从Microsoft提供与Visual Studio的完全集成。

但是,虽然在本次更新时Visual Studio 2017已存在于次要版本15.4中,但WDK仍然需要 Visual Studio 2015。

Visual Studio 2002到2010

各自的当代DDK / WDK版本:适用于Windows XP / 2003服务器的DDK,适用于Windows Vista和Windows 7的WDK及其各自的服务包级别和相应的服务器版本。

Microsoft正式支持这些版本来构建驱动程序。编译驱动程序的唯一更糟糕的选择是完整的第三方工具链(除了英特尔的C编译器,由MS,IIRC批准)。

在此期间使用Visual Studio编译器被认为是非常糟糕的形式,并且Microsoft明确建议不要使用它。但是,内核模式下的C ++也曾经不受欢迎,现在MS为内核模式提供了C ++框架。他们正在变形的时代' ......;)

无论如何,变通方法以ddkbuild.batddkbuild.cmd的形式存在,它使用DDK工具链,但有效地允许您集成来自" make"的结果调用。 Visual Studio中的项目。 DDKWizard是这两个脚本的项目创建向导。 DDKWizard 支持Visual Studio 2010!这两个脚本的链接提供了很好的文档,DDKWizard还提供了一个不错的文档。

据我所知ddkbuild.cmd最初基于ddkbuild.bat,而HollisTech版本也可以追溯到OSR的版本。

VisualDDKVirtualKD结合后出现的时间晚于前面提到的,但被认为是一个更优越,更复杂的解决方案。但你的里程可能会有所不同在任何一种情况下,在后一种解决方案中,与Visual Studio的集成都要完整得多。

Visual Studio 6

各自的当代DDK / WDK版本:适用于Windows NT 4和Windows 2000的DDK。

在Windows XP DDK(现在DDK称为WDK)之前,编译器未包含在DDK中,因此您必须安装编译器工具链。这将是NT 4.0和Windows 2000的情况。

答案 1 :(得分:7)

下载并安装VisualDDK,您将能够直接从Visual Studio创建驱动程序项目和调试驱动程序。

答案 2 :(得分:1)

如果你想使用DDK build而WDK使用ddkbuild.bat,那么它应该让你去,这是非常好的(我认为它仍然有效)。或者从OSR查看ddkbuild.cmd

答案 3 :(得分:1)

来自OSR-Online的ddkbuild是一个不错的选择ddkbuild download link

答案 4 :(得分:1)

创建一个makefile项目并使用以下命令作为构建命令:

pushd .  
call C:\WinDDK\7600.16385.1\bin\setenv.bat C:\WinDDK\7600.16385.1\ chk x86 WXP no_oacr   
popd  
build -cgwiz  

(显然可以调整setenv的论据以适应)

答案 5 :(得分:1)

为了构建我的驱动程序我在visual studio 2008中使用了VisualDDK。一开始我使用我的计算机和virtualBox机器开始调试但是当我在visual studio中启动调试过程时,我的虚拟机没有显示外部ip地址(通常应该在DDKLauncherMonitor中显示192.168.1.102和10.0.1.15,但它只显示10.0.1.15)。

我停止使用虚拟机,我决定使用真正的计算机。在第二台计算机上我推出了DDKLauncherMonitor。我从第一台计算机开始调试。我在第二台机器上收到了Udp包,还收到了driver.sys。但是,当我试图从视觉工作室(第一台计算机)加载驱动程序时,没有任何工作。另外,在第二台机器中告诉我“Windows需要数字签名的驱动程序”。

有同一个人遇到这种问题,他/她可以提供帮助。

答案 6 :(得分:0)

在VS中创建一个makefile项目。添加源,头文件,makefile和源文件。打开项目属性 - >配置属性 - > NMake->构建命令行并写入:

call $(WINDDK)\bin\setenv.bat $(WINDDK) fre wnet
cd /d $(ProjectDir)
build.exe -I

现在你可以从VS构建了。 makefile项目的优点:它为您提供了所需的配置(w2k,wxp,wnet,wlh等),您可以从DDK命令行构建。

P.S。 fre wnet - 是一个示例配置,使用项目所需的内容。同时拥有frechk配置是件好事。 WINDDK - 具有DDK根路径的环境变量。