2

我正在尝试将我们现有的驱动程序代码转换using makefilevisual studio 2013 with MSBUILD.

我已经包含了所有的头文件和源代码。该项目创建为KMDF driver.

我已经启用WPP tracing并插入了我们使用的 3 个参数

-km (in trace kernel-mode components --> Yes (-km) )  

-func (in functions to generate trace messages --> TraceEvents(LEVEL,FLAGS,MSG,...))  

-gen (in specify template file --> {km-WdfDefault.tpl}*.tmh)

当我构建项目时,错误返回为:

'TraceEvents' undefined; assuming extern returning int
'DBG_PNP' : undeclared identifier

我不确定为什么会这样。我想我错过了一些步骤。请指导我可能错过的内容。

4

2 回答 2

2

尝试启动一个新项目并选择“Visual C++”->“Windows 驱动程序”->“USB”->“内核模式驱动程序,USB (KMDF)。此驱动程序已设置 WPP 跟踪并开箱即用。

您应该特别查看项目中包含的 Trace.h 文件和底部的注释块;我知道当它被省略时我们遇到了问题。

注释块如下所示:

// This comment block is scanned by the trace preprocessor to define our
// Trace function.
//
// begin_wpp config
// FUNC Trace{FLAG=MYDRIVER_ALL_INFO}(LEVEL, MSG, ...);
// FUNC TraceEvents(LEVEL, FLAGS, MSG, ...);
// end_wpp
于 2013-10-07T19:53:26.903 回答
2

我在 Visual Studio 2015 中的驱动程序遇到了这个问题。添加我如何修复它而无需创建新项目。

在您的Project Properties中,导航到Wpp Tracing

  1. 在该General部分中,将 的值设置Run Wpp TracingYes

  2. 在该Search and Formatting部分中,指定Function To Generate Trace Messagesto TraceEvents(LEVEL,FLAGS,MSG,...)

  3. 在该File Options部分中,设置Scan Configuration Datatrace.h

那应该解决它。

于 2016-12-09T21:15:03.623 回答