Windows XP 以降では、 WPP_INIT_TRACING マクロを 呼び出して WPP ソフトウェア トレースを初期化することで、ユーザー モード DLL で WPP トレースを初期化できます。
エラーを回避するには、次の方法を使用します。
DLL の DllMain 関数でWPP_INIT_TRACING マクロを呼び出します。
DLL が C で記述されている場合は、ソース コード にWPP_OLDCC の #define ステートメントを追加します。 トレース メッセージ ヘッダー (.tmh) ファイルの #include ステートメントの前に定義を配置します。 WPP_OLDCC定義は、C コードに対してのみ必要です。 C++ では必要ありません。
例えば次が挙げられます。
#define WPP_OLDCC #include "init.tmh"
Microsoft Windows 2000 の DllMain 関数で WPP ソフトウェア トレースを初期化することはできません。 WPP は Windows 2000 上のサービスの一部として実行されるため、ソフトウェア トレースを初期化するとリモート プロシージャ コールが生成されます。この呼び出しは DLL の初期化中に禁止されます。