构建Windows 7驱动程序时出错

时间:2012-12-04 18:14:24

标签: c++ c debugging windows-7 driver

我有这个不能编译的驱动程序。我一直在网上搜索错误,并没有找到解决方案。有什么想法吗?

#include <wdm.h>

VOID Unload(IN PDRIVER_OBJECT pDriverObject)
{
    DbgPrint("Received signal to unload the driver");
    return;
}

NTSTATUS DriverEntry(IN PDRIVER_OBJECT pDriverObject, IN PUNICODE_STRING regPath)
{
    DbgPrint("Driver has been loaded");
    (*pDriverObject).DriverUnload = Unload;
    return(STATUS_SUCCESS);
}

下面的错误:

1>------ Build started: Project: KMDF Test, Configuration: Win7 Debug Win32 ------
1>  Stamping Win7Debug\KMDFTest.inf [Version] section with DriverVer=12/04/2012,10.12.25.726
1>  cl wpp
1>wpp : error : (WppCreateFile)Cannot open file trace.h, error 2
2>------ Build started: Project: KMDF Test Package, Configuration: Win7 Debug Win32 ------
2>C:\Program Files\Windows Kits\8.0\build\WindowsDriver8.0.common.targets(1347,5): error MSB3030: Could not copy the file "C:\Users\Administrator\documents\visual studio 2012\Projects\KMDF Test\Win7Debug\KMDFTest.sys" because it was not found.
========== Build: 0 succeeded, 2 failed, 0 up-to-date, 0 skipped ==========

5 个答案:

答案 0 :(得分:11)

以下是我修复此问题的方法:

在Solution Explorer窗口中,右键单击您的驱动程序项目,然后选择Properties。在Wpp Tracing中>所有选项,将运行Wpp跟踪设置为否。单击确定。

萨米

答案 1 :(得分:1)

你最终解决了这个问题吗?您的项目很可能无法找到您的trace.h文件。如果您使用的是Visual Studio,请检查以下项目设置:

配置属性 - &gt; Wpp跟踪 - &gt;文件选项 - &gt;扫描配置数据

确保文件的路径正确无误。如果它只是说trace.h,那么请确保trace.h与项目文件位于同一文件夹中。

如果你不需要进行追踪,那么萨米的答案也同样好。

答案 2 :(得分:0)

也许你没有选择合适的驱动程序模板?

当我使用KDM和KDMF模板创建驱动程序项目时,我遇到了与您相同的错误....所以......

您可以创建一个新项目,然后选择&#34;空WDM驱动程序&#34; 模板,然后一切正常。

如果您真的想使用WPP,以下链接可能会有所帮助。 Supporting WPP Tracing (Windows Drivers)

答案 3 :(得分:0)

解决问题的步骤:

  1. 搜索并获取trace.h并将其放入项目文件的文件夹中或提供路径。
  2. 将KmdfSmallEvtDeviceAdd替换为KmdfHelloWorldEvtDeviceAdd

答案 4 :(得分:-1)

在记事本中打开* .vcxproj文件并注释以下行。

<!--      <WppEnabled>true</WppEnabled>
      <WppScanConfigurationData Condition="'%(ClCompile. ScanConfigurationData)'  == ''">trace.h</WppScanConfigurationData>
      <WppKernelMode>true</WppKernelMode> -->

然后我做了。它有用..希望它对你有帮助。