ユーザーがデコードする必要がある整数値を表示する代わりに、列挙型を使用してトレース メッセージに意味のある用語を表示できます。
たとえば、コードで次の列挙体を定義します。
#define SPECIALDAY 0xF0000000
enum _wday {
sunday = 0,
monday = 55,
tuesday = 3,
wednesday = 1 | SPECIALDAY ,
thursday = 7 | SPECIALDAY,
friday = 5,
saturday = 6
};
トレース メッセージで列挙を使用するには、次の構成データをソース ファイルに追加します。 このコードは、列挙のシンボル情報を抽出し、列挙ログ値を表示するときに定義した名前を使用するように WPP に指示します。
// begin_wpp config
// CUSTOM_TYPE(dayset, ItemEnum(_wday) );
// end_wpp
その後、トレース メッセージの書式指定文字列で dayset カスタム型を使用できます。 例えば次が挙げられます。
_wday p = wednesday;
DoTraceMessage(NOISE " %!dayset!", p);
最後に、構成データを非構成ファイル (.ini ファイル以外のファイル) に追加したため、WPP プリプロセッサを呼び出す RUN_WPP マクロに -scan パラメーターを追加します。 これにより、指定されたファイル内の構成データを検索するように WPP に通知されます。 例えば次が挙げられます。
RUN_WPP -scan:trace.c