トレース プロバイダー

トレース プロバイダーは、Windows イベント トレーシング (ETW) テクノロジを使用して、トレース メッセージまたはトレース イベントを生成するユーザー モード アプリケーションまたはカーネル モード ドライバーのコンポーネントです。 通常、トレース イベントとメッセージは、プロバイダーの個別のアクションを報告します。 イベントのレコードを読み取ると、プロバイダーが実際の運用条件で何を行っているかを理解しやすくなります。

トレース セッションには、複数のトレース プロバイダーを含めることができます。 これは、複数のプロバイダー コンポーネントを実装するドライバーまたはアプリケーションのトレースや、やり取りする複数のドライバーまたはアプリケーションのトレースに特に役立ちます。

複数のトレース プロバイダーでトレース セッションを開始するには、トレース コントローラーに送信する GUID (.guid 拡張子) またはコントロール ファイルで、目的のすべてのプロバイダーのコントロール GUID を指定する必要があります。 プロバイダーによって生成されたトレース メッセージは、イベント トレース ログ (.etl) ファイルに混在しています。

カーネル モード ドライバーやユーザー モード アプリケーションでは、1 つのソース ファイル内であっても、複数のトレース プロバイダー コンポーネントをサポートできます。 この機能は、ドライバーまたはアプリケーションで特定の操作をトレースする場合に役立ちます。 複数のトレース プロバイダーを実装するには、プロバイダーごとに WPP_CONTROL_GUIDS マクロで異なるコントロール GUID を使用する必要があります。

同様に、複数のドライバーまたはアプリケーションを 1 つのトレース プロバイダーの一部にして、そのリソースを共有できます。 この機能は、関連するアプリケーションやドライバー (ポートドライバーやミニポート ドライバーなど) をトレースする場合に便利です。 この機能を実装するには、各プロバイダーの WPP_CONTROL_GUIDS マクロで同じコントロール GUID を指定します。