使用 WDK 构建驱动程序
本主题介绍了如何使用 Windows 驱动程序工具包 (WDK) 构建驱动程序。 WDK 10 与 Microsoft Visual Studio 完全集成。你可以使用 Visual Studio 开发环境生成驱动程序,也可以使用 Microsoft Build Engine (MSBuild) 直接从命令行生成驱动程序。
你可以使用任一版本的 Microsoft Visual Studio 2015(包括 Microsoft Visual Studio Community 2015)来生成适用于以下项的驱动程序:
- Windows 10
- Windows 8.1
- Windows 7
要点 从 Windows 驱动程序工具包 (WDK) 8 开始,MSBuild 就已经取代了在早期版本的 WDK 中使用的 Windows 构建实用工具 (Build.exe)。现在,WDK 可使用与你用于构建 Visual Studio 项目相同的编译器和构建工具。使用早期版本的 WDK 构建的驱动程序项目必须进行转换才能在 Visual Studio 环境中工作。你可以从命令行运行转换实用工具,也可以通过从现有的源创建新的 Visual Studio 项目来转换现有驱动程序。有关详细信息,请参阅从现有源文件创建驱动程序和 WDK 和 Visual Studio 构建环境。
使用 Visual Studio 构建驱动程序
构建驱动程序的方法与在 Visual Studio 中构建任何项目或解决方案的方法相同。当使用 Windows 驱动程序模板创建新的驱动程序项目时,该模板定义默认(活动)的项目配置以及默认(活动)的解决方案生成配置。
注意 你可以将使用 WDK 8 或 Windows 驱动程序工具包 (WDK) 8.1 所创建的项目和解决方案转换为适用于 Windows 驱动程序工具包 (WDK) 10 和 Visual Studio 2015。打开项目或解决方案前,请先运行 ProjectUpgradeTool。ProjectUpgradeTool 将转换项目和解决方案,以便可以使用 WDK 10 构建它们。
有关管理和编辑构建配置的信息,请参阅 Building in Visual Studio。
默认的解决方案构建配置为“调试”和“Win32”****。 在 Windows 8 之前的 WDK 版本中,此构建配置对应于使用“x86 已检查版本环境”构建驱动程序。
选择配置并构建驱动程序
- 确保安装在你的计算机上的 SDK 和 WDK 的版本相同。
- 在 Visual Studio 中打开驱动程序项目或解决方案。
- 在“解决方案资源管理器”中右键单击解决方案,并选择“配置管理器”****。
- 从“配置管理器”中,选择与你感兴趣的构建类型相对应的活动解决方案配置(例如,“调试”或“发布”)以及活动解决方案平台(例如,“Win32”)。
- 选择要构建驱动程序的目标操作系统。导航到“驱动程序”>“常规”中的项目属性,然后设置 TargetVersion 属性。
- 为驱动程序或驱动程序包配置项目属性。 可以为部署、驱动程序签署或其他任务设置属性。有关详细信息,请参阅为驱动程序和驱动程序包配置项目属性。
- 从“构建”菜单中,单击“构建解决方案”**** (Ctrl+Shift+B)。
使用命令行构建驱动程序 (MSBuild)
你可以使用“Visual Studio 命令提示符”窗口和 Microsoft Build Engine (MSBuild) 来从命令行构建驱动程序。
使用“Visual Studio 命令提示符”窗口构建驱动程序
打开“适用于 VS2015 的开发人员命令提示符”窗口。
在此窗口中,你可以借助 MSBuild.exe,通过指定项目 (.VcxProj) 或解决方案 (.Sln) 文件来构建任何 Visual Studio 项目。
导航到项目目录并为你的目标输入 MSbuild 命令。
例如,若要使用默认的平台和配置生成名为 MyDriver.vcxproj 的全新的 Visual Studio 驱动程序项目,请导航到项目目录并输入以下 MSBuild 命令:
msbuild /t:clean /t:build .\MyDriver.vcxproj
语法 - 若要指定特定的配置和平台,请使用以下命令语法:
msbuild /t:clean /t:build ProjectFile/p:Configuration=<Debug|Release>/p:Platform=architecture/p:TargetPlatformVersion=a.b.c.d/p:TargetVersion=OS
例如,以下命令将为“调试”配置、“Win32”平台和 Windows 10 生成一个通用 Windows 驱动程序。
msbuild /t:clean /t:build .\MyDriver.vcxproj /p:Configuration="Debug" /p:Platform=Win32 /p:TargetVersion=”Windows10” /p:TargetPlatformVersion=”10.0.10010.0”
“TargetPlatformVersion”****设置为可选项,并且允许你指定用于生成的工具包版本。默认值为使用最新的工具包。
为驱动程序和驱动程序包配置项目属性
使用属性页,可以为驱动程序和驱动程序包配置和设置选项。可以选择配置驱动程序以便在构建解决方案时自动签署驱动程序,或者自动部署到远程测试计算机。
WDK 提供很多命令行工具,如构建过程中通常包含的 Stampinf 和 WPP 预处理器(WPP 跟踪)。这些工具不随 Visual Studio 一起分发。 为了将这些工具与 Visual Studio 构建环境结合使用,将这些工具作为 MSBuild 的 WDK 任务进行包装。 如果使用其中一个驱动程序模板或者转换现有的驱动程序,那么对于你的项目来说,这些属性页可能已存在。如果不是这样,那么当你向项目或解决方案中添加相关文件类型时,属性页会自动添加到你的项目(例如,消息编译器的 .mc 或 .man 文件)。有关详细信息,请参阅 WDK 和 Visual Studio 构建环境。
可以为单个驱动程序或整个驱动程序包设置属性。下表显示了可以为驱动程序和驱动程序包专门配置的一些可用属性。
驱动程序项目属性 | 驱动程序包属性 |
---|---|
为个别驱动程序文件签署属性(请参阅签署驱动程序) |
为驱动程序包签署属性(请参阅签署驱动程序) |
驱动程序项目的计数器清单预处理器属性(对于 CTRPP) | |
驱动程序项目的驱动程序模型设置属性 | |
驱动程序项目的消息编译器属性 | |
驱动程序项目的 Stampinf 属性 | |
WPP 预处理器(WPP 跟踪) | 驱动程序包项目的 Inf2Cat 属性(请参阅 Inf2Cat 工具) |
构建驱动程序的疑难解答提示
以下提示可在你使用 WDK 和 Visual Studio 构建驱动程序时帮助你解决问题。
使用 Visual Studio 中的选项增加构建输出详细信息的步骤
- 单击 Tools > Options。
- 单击“项目和解决方案”文件夹并单击“生成并运行”****。
- 更改“MSBuild 项目构建输出详细信息”和“MSBuild 项目构建日志文件详细信息”****。 默认情况下,这些都设置为“最少”。