WPP跟踪的宏别名

时间:2017-09-13 21:15:28

标签: visual-c++ driver windows-wpp

我开始使用WPP跟踪我的驱动程序。我定义了宏DoTraceLevelMessage以支持日志级别(类似于TraceDrv示例代码)。我的跟踪代码如下所示:

DoTraceLevelMessage(TRACE_LEVEL_INFORMATION, DEFAULT_FLAG, "Driver is loaded");

这使得跟踪线有点长,所以我想使用某种别名,例如:

#define LOG_INFO(msg,...) DoTraceLevelMessage(TRACE_LEVEL_INFORMATION, DEFAULT_FLAG, msg, __VA_ARGS__)

所以上面的代码将如下所示:

LOG_INFO("Driver is loaded");

我似乎无法使其与WPP一起使用。我认为WPP预处理器在编译器预处理器之前运行,因此上述宏不会像我预期的那样扩展。我收到以下编译错误:

1>test_driver.c(70): error C4013: 'WPP_CALL_test_driver_c70' undefined; assuming extern returning int
1>test_driver.c(70): error C2065: 'DEFUALT_FLAG': undeclared identifier

当我使用DoTraceLevelMessage宏时,一切正常。知道怎样才能定义这样的别名?

0 个答案:

没有答案