有没有人有文章如何做到这一点?
7 回答
由于您没有提供 Visual Studio 的确切版本,所以让我给您我知道的选项。
视觉工作室 2012、2013 和 2015
相应的当代 DDK/WDK 版本:WDK 8、8.1 和 10(截至撰写本文时)。
借助适用于 Windows 8 的 WDK,Microsoft 的 WDK 团队终于再次直接从 Microsoft 提供与 Visual Studio 的完全集成。
然而,虽然 Visual Studio 2017 已经存在于次要版本 15.4 中,但 WDK 仍然需要Visual Studio 2015。
Visual Studio 2002 到 2010
各自的当代 DDK/WDK 版本:适用于 Windows XP/2003 Server 的 DDK、适用于 Windows Vista 和 Windows 7 的 WDK,以及它们各自的服务包级别和各自的服务器版本。
微软没有正式支持这些版本来构建驱动程序。编译驱动程序的唯一更糟糕的选择是完整的第三方工具链(除了 MS、IIRC 认可的英特尔 C 编译器)。
在那个时期使用 Visual Studio 编译器被认为是非常糟糕的形式,微软明确建议不要这样做。但是,内核模式下的 C++ 也曾一度受到反对,现在 MS 为内核模式提供了 C++ 框架。他们正在改变的时代...... ;)
无论如何,解决方法以 DDK 工具链的形式存在ddkbuild.bat
并且ddkbuild.cmd
使用 DDK 工具链,但有效地允许您将生成的调用从 Visual Studio 中的“make”项目集成。DDKWizard是这两个脚本的项目创建向导。DDKWizard 不支持Visual Studio 2010!这两个脚本的链接提供了很好的文档,DDKWizard 也提供了不错的文档。
据我所知,HollisTech 版本ddkbuild.cmd
最初是基于ddkbuild.bat
并且也可以追溯到 OSR 的那个版本。
VisualDDK与 VirtualKD 相结合的出现晚于上述,但被认为是一种更优越、更复杂的解决方案。但是您的里程可能会有所不同。无论哪种情况,在后一种解决方案中,与 Visual Studio 的集成都更加完整。
视觉工作室 6
相应的当代 DDK/WDK 版本:适用于 Windows NT 4 和 Windows 2000 的 DDK。
在 Windows XP DDK(现在 DDK 称为 WDK)之前,编译器不包含在 DDK 中,因此您必须安装编译器工具链。NT 4.0 和 Windows 2000 就是这种情况。
Download and install VisualDDK and you'll be able to create driver projects and debug drivers directly from Visual Studio.
OSR-Online 的 ddkbuild 是一个不错的替代ddkbuild 下载链接。
为了构建我的驱动程序,我在 Visual Studio 2008 中使用了 VisualDDK。一开始我使用我的计算机和 virtualBox 机器开始调试,但是当我在 Visual Studio 中启动调试过程时,我的虚拟机没有显示外部 IP 地址(通常应该显示我 192.168.1.102 和 10.0.1.15 在 DDKLauncherMonitor 但它只显示我 10.0.1.15 )。
我停止使用虚拟机,我决定使用真机。在第二台计算机上,我启动了 DDKLauncherMonitor。我从我的第一台电脑开始调试。我在第二台机器上收到了 Udp 包以及 driver.sys。但是,当我尝试从 Visual Studio(第一台计算机)加载驱动程序时,没有任何效果。另外,在第二台机器上告诉我“Windows 需要数字签名的驱动程序”。
有同样的人遇到这种问题,他/她可以提供帮助。
如果您想使用 DDKbuild
和 WDK use ddkbuild.bat
,那应该很好(我认为大部分仍然有效)。或者ddkbuild.cmd
从 OSR 签出。
创建一个 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 的参数以适应)
在 VS 中创建一个 makefile 项目。添加您的来源、标题、makefile 和 sourcefile。打开项目属性->配置属性->NMake->构建命令行并写入:
call $(WINDDK)\bin\setenv.bat $(WINDDK) fre wnet
cd /d $(ProjectDir)
build.exe -I
现在您可以从 VS 构建。makefile 项目的优势:它为您提供所需的配置(w2k、wxp、wnet、wlh 等),并且您可以从 DDK 命令行构建。
PS
fre wnet
- 是一个示例配置,请使用您的项目所需的配置。最好同时拥有fre
和chk
配置。WINDDK - 带有 DDK 根路径的环境变量。