跟踪提供程序是用户模式应用程序或内核模式驱动程序的组件,它使用 Windows 事件跟踪(ETW)技术生成跟踪消息或跟踪事件。 通常,跟踪事件和消息用于报告提供程序的独立操作。 读取事件的记录有助于了解提供商在实际操作条件下的活动。
跟踪会话可以包含多个跟踪提供程序。 这对于跟踪实现多个提供程序组件的驱动程序或应用程序以及跟踪多个交互的驱动程序或应用程序尤其有用。
若要启动包含多个跟踪提供程序的跟踪会话,必须在 GUID(.guid 扩展名)或提交到跟踪控制器的控制文件中指定所有所需提供程序的控制 GUID。 提供程序生成的跟踪消息在事件跟踪日志 (.etl) 文件中交错。
内核模式驱动程序或用户模式应用程序可以支持多个跟踪提供程序组件,即使在单个源文件中也是如此。 此功能可用于跟踪驱动程序或应用程序中的具体操作。 若要实现多个跟踪提供程序,必须在每个提供程序的 WPP_CONTROL_GUIDS 宏中使用不同的控制 GUID。
同样,多个驱动程序或应用程序可以是单个跟踪提供程序的一部分,并共享其资源。 跟踪相关应用程序和驱动程序(例如端口和微型端口驱动程序)时,此功能非常有用。 若要实现此功能,请在每个提供程序的 WPP_CONTROL_GUIDS 宏中指定相同的控件 GUID。