从 Windows 驱动程序工具包 (WDK) 8 开始,WDK 与 Microsoft Visual Studio 完全集成。 现在,WDK 使用与你用于构建 Visual Studio 解决方案和项目相同的编译器和构建工具。MSBuild 取代了在早期版本的 WDK(早于 WDK 8)中使用的 Windows 构建实用工具 (Build.exe)。如果你拥有使用早期版本的 WDK 创建的驱动程序,则可以从现有代码轻松创建 Visual Studio 项目和解决方案。
要点 使用 WDK 8 创建的项目和解决方案必须经过升级,才能与 Windows 驱动程序工具包 (WDK) 8.1 和 Microsoft Visual Studio 2013 配合使用。打开项目或解决方案前,请先运行 ProjectUpgradeTool。ProjectUpgradeTool 将转换项目和解决方案,以便可以使用 WDK 8.1 构建它们。
WDK 提供一个转换实用工具,该实用工具从你的驱动程序的 sources、dirs 和 makefile.inc 文件生成 Visual Studio 解决方案和项目文件。该实用工具在现有 sources 文件所在的目录中创建 Visual Studio 解决方案和项目文件。该实用工具不会改变你的源代码或之前的构建文件。如果需要在 Windows XP 上支持你的驱动程序,则可以继续对 Windows XP 使用先前的构建系统,并且对 Windows 8.1、Windows 8、Windows 7 和 Windows Vista 使用 WDK 8.1 或 WDK 8 和 Visual Studio 项目和解决方案。
下列选项用于从现有源文件创建 Visual Studio 驱动程序项目:
- 使用 Visual Studio 并选择打开和转换现有驱动程序项目(基于 sources 和 dirs 文件)。
- 使用“Visual Studio 命令提示符”窗口和 WDK sources 以及 dirs 文件转换器 (Nmake2MsBuild.exe)。
- *(Recommended)*使用提供的 Windows 驱动程序模板之一在 Visual Studio 中创建新的 Windows 驱动程序解决方案。 如果从驱动程序模型的模板开始,则项目的结构将成型并将选择正确的平台工具集。然后你可以将你的源文件添加到该解决方案。有关选择模板的信息,请参阅创建新的设备函数驱动程序、创建新的筛选器驱动程序或创建新的软件驱动程序。
打开和转换使用早期版本的 WDK 创建的驱动程序项目(“文件”>“打开”)的步骤
打开 Microsoft Visual Studio Ultimate 2012。在“文件”菜单中,单击“打开”****,然后单击“转换源/目录”。
在“打开”****对话框中,导航到包含驱动程序的 sources 或 dirs 文件的目录,然后选择该文件并单击“打开”。 Visual Studio Ultimate 2012 中的“输出”窗口显示有关 Visual Studio 项目转换和创建的消息。 有关如何转换 sources 文件中元素的详细视图,你可以查看转换日志 (Nmake2MsBuild_sources.log)。 转换过程中,系统将询问你是否要打开并查看该日志文件。
在解决方案资源管理器中检查该项目。
请参阅转换 UMDF 驱动程序时的其他步骤。
从现有代码创建驱动程序项目(命令行)的步骤
打开一个“Visual Studio 命令提示符”窗口。 如果你的项目位于 %PROGRAMFILES% 下,则需要使用提升的权限(“以管理员身份运行”****)打开命令提示符窗口。
运行 Nmake2MsBuild 转换实用工具 (Nmake2MsBuild.exe) 并为你的驱动程序指定 sources 或 dirs 文件的名称和路径。
一次可以指定多个 sources 文件。得到的所有项目都将共享相同的解决方案和程序包项目。
如果你对 dirs 文件上运行 Nmake2MsBuild 实用工具,则该实用工具将遍历所有 sources 文件的目录树并为每个目录生成 Visual Studio 项目文件。
该转换工具位于 %PROGRAMFILES%\Windows Kits\8.0\bin\x86\ 目录中。
例如,若要在目录 C:\Myproj 中为现有的 sources 文件生成一个 Visual Studio 项目文件,则将需要输入以下命令:
Nmake2MsBuild.exe c:\myProj\sources通过在 Visual Studio 中打开项目文件 (*.vcxproj) 或解决方案文件 (*.sln) 来验证转换。 启动 Visual Studio 并单击“打开”,然后导航到你在其中转换 sources 文件的目录。 尝试使用默认的构建配置构建你的项目。
如果你需要诊断或验证转换的项目文件,那么该实用工具会创建你可以使用的日志文件。默认的日志文件名为 Nmake2MSBuild_sources.log。该日志文件将报告错误和警告,还将描述如何将源文件中的元素转换为其 Visual Studio 项目文件。
请参阅转换 UMDF 驱动程序时的其他步骤。
Nmake2MsBuild 实用工具
该转换工具位于 %PROGRAMFILES%\Windows Kits\8.0\bin\x86\ 目录中。 有关使用该转换工具及其选项的信息,请参阅 Nmake2MsBuild。
转换 UMDF 驱动程序时的其他步骤
默认情况下,转换实用工具配置驱动程序包项目以使用内核调试程序(Windows 的调试工具 - 内核调试程序)。 如果你将 UMDF 驱动程序转换为 Visual Studio 解决方案,则应更改此设置,以便可以转而使用用户模式(远程)调试程序。
指定用户模式(远程)调试程序
- 打开驱动程序项目的属性页。在“解决方案资源管理器”中右键单击驱动程序包项目,然后选择“属性”****。
- 在驱动程序包项目的属性页中,单击“配置属性”,然后单击“调试”****。
- 从调试程序启动下拉菜单,选择“Windows 的调试工具 - 远程调试”。
有关配置目标计算机以及设置调试电缆的信息,请参阅在 Visual Studio 中设置内核模式调试和设置计算机以便进行驱动程序部署和测试 (WDK 8.1)。
注意 你仍可以使用内核调试程序来调试 UMDF 驱动程序,但用户模式(远程)调试程序更方便。 如果从 UMDF 模板创建 UMDF 驱动程序,则默认情况下始终选择用户模式调试程序。