【问题标题】:Error Building Windows 7 Driver构建 Windows 7 驱动程序时出错
【发布时间】:2012-11-22 10:55:10
【问题描述】:

我有这个无法编译的驱动程序。我一直在网上搜索错误,并没有提出任何解决方案。有什么想法吗?

#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 ==========

【问题讨论】:

  • 这是您的驱动程序使用的 WPP 日志记录机制的错误。您发布的代码与它无关。
  • 先贴出相关代码。并在网上进行体面的搜索。这是搜索结果中出现的第一个链接:osronline.com/showthread.cfm?link=228192
  • 我发布了我所有的代码
  • 驱动项目还包括道具、解决方案、inf 和可能的其他文件
  • 我怎么把这些都放在这里?

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


【解决方案1】:

这是我解决这个问题的方法:

在“解决方案资源管理器”窗口中,右键单击您的驱动程序项目并选择“属性”。在 Wpp Tracing > All Options 中,将 Run Wpp tracking 设置为 No。单击 OK。

萨米

【讨论】:

    【解决方案2】:

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

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

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

    如果你不需要做追踪,那么萨米的回答也一样好。

    【讨论】:

      【解决方案3】:

      也许您没有选择正确的驱动程序模板?

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

      你可以新建一个工程,选择“Empty WDM Driver”模板,就一切OK了。

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

      【讨论】:

        【解决方案4】:

        解决问题的步骤:

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

        【讨论】:

          【解决方案5】:

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

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

          然后我确实构建了。成功了。。希望对你有帮助。

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2011-08-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多