我正在尝试将现有的using makefile
驱动程序代码转换为visual 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
我不确定为什么会这样。 我想我错过了一些步骤。 请指导我可能错过的内容。
答案 0 :(得分: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
答案 1 :(得分:2)
我在Visual Studio 2015中遇到了我的驱动程序这个问题。添加了如何修复它而无需创建新项目。
在Project Properties
中,导航至Wpp Tracing
。
在General
部分中,将Run Wpp Tracing
的值设为Yes
。
在Search and Formatting
部分中,指定Function To Generate Trace Messages
至TraceEvents(LEVEL,FLAGS,MSG,...)
。
在File Options
部分,将Scan Configuration Data
设为trace.h
。
那应该解决它。