我开始在我的驱动程序中使用 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
宏时,一切正常。知道如何定义这样的别名吗?