如何在用户模式 DLL 中初始化 WPP 软件跟踪?
从 Windows XP 开始,可以通过调用 WPP_INIT_TRACING 宏来初始化 WPP 软件跟踪,从而在用户模式 DLL 中初始化 WPP 跟踪。
若要避免错误,请使用以下方法。
在 DLL 的 DllMain 函数中调用 WPP_INIT_TRACING 宏。
如果 DLL 是用 C 编写的,请将 用于WPP_OLDCC 的 #define 语句添加到源代码中。 将定义放在跟踪消息头 (.tmh) 文件的 #include 语句之前。 只有 C 代码需要 WPP_OLDCC 定义。 C++ 不需要它。
例如:
#define WPP_OLDCC #include "init.tmh"
无法在 Microsoft Windows 2000 上的 DllMain 函数中初始化 WPP 软件跟踪。 由于 WPP 作为 Windows 2000 上的服务的一部分运行,因此初始化软件跟踪会生成远程过程调用,该调用在 DLL 初始化期间是禁止的。