各 トレース プロバイダーは、プロバイダー を一意に識別する コントロール GUID を 定義します。 この GUID は、 Event Tracing for Windows (ETW) を使用してトレース プロバイダーを有効または無効にするために使用されます。
コントロール GUID は、インストルメント化されたトレース プロバイダーのソース コード ファイルの WPP_CONTROL_GUIDS マクロに表示されます。
#define WPP_CONTROL_GUIDS \
WPP_DEFINE_CONTROL_GUID(GUIDFriendlyName, (ControlGUID), \
WPP_DEFINE_BIT(NameOfTraceFlag1) \
WPP_DEFINE_BIT(NameOfTraceFlag2) \
............................. \
............................. \
WPP_DEFINE_BIT(NameOfTraceFlag32) )
Tracepdb は、 PDB ファイルで表される各トレース プロバイダーのコントロール GUID とトレース レベルを含むトレース (MOF) ファイルを作成します。 MOF ファイルの名前は、トレース プロバイダーのモジュール名です。 -c オプションを使用すると、Tracepdb で TMC ファイルを生成することもできます。
コントロール GUID はトレース プロバイダーを ETW に識別するため、コントロール GUID を使用して トレース プロバイダーのスコープを定義および再定義できます。 たとえば、同じコントロール GUID を指定することで、複数のドライバーを 1 つのトレース プロバイダーに含めることができます。 または、 WPP_CONTROL_GUIDS マクロの 各インスタンスで異なるコントロール GUID を指定することで、1 つのドライバーに複数のトレース プロバイダーを含めることができます。