Freigeben über


EventProvider

Konfiguriert den Ereignisablaufverfolgungsanbieter für Windows (ETW) für den Benutzermodus.

Elementhierarchie

Syntax

<EventProvider Id               = IdType
               Name             = string
               Base             = string
               NonPageMemory    = boolean
               Stack            = boolean
               SID              = boolean
               TSID             = boolean
               Level            = unsigendByte
               CaptureStateOnly = boolean
               Strict           = boolean
               ProcessExeFilter = string
               EventKey         = boolean
               ExcludeInPrivate = boolean>

  <!-- Child elements -->
  Keywords,
  CaptureStateOnStart,
  CaptureStateOnSave,
  CaptureStateOnDemand,
  Stacks,
  EventFilters,
  StackFilters,
  EventNameFilters,
  StackEventNameFilters,
  StackKeywordLevelFilter
</EventProvider>

Attribute und Elemente

Attribute

attribute BESCHREIBUNG Datentyp Erforderlich Standard
Id Identifiziert den Ereignisanbieter eindeutig. Zeichenfolge, die mindestens ein Zeichen aufweisen muss und keine Doppelpunkte (:) oder Leerzeichen enthalten kann. Ja
Name Der Name des Ereignisanbieters. Dieses Attribut kann einen der folgenden Werte annehmen:
  • Ein registrierter Crimson-Anbieter, z. B. „Microsoft-Windows-Search-Core“.

  • Die Anbieter-GUID, z. B. „49c2c27c-fe2d-40bf-8c4e-c3fb518037e7“.

  • Der Name eines Legacyanbieters, z. B. „IE6“.

  • Der Sonderfallname, z. B. „PerfTrack“ oder „DotNetProvider“.

Yes
ProcessExeFilter Filtert ein Ereignis basierend auf dem angegebenen Prozess .exe Namen. Legt die Filterdaten in EVENT_FILTER_DESCRIPTOR fest. Dies ist ein optionales Attribut, das Sie der EventProvider-ID im WPR-Profil hinzufügen. Beispiel:
  • "ProcessExeFilter="wpa.exe"

No
Base Gibt die Basis für den Anbieter an. Zeichenfolge No
NonPagedMemory Verwenden Sie non-paged Arbeitsspeicher für eine Ablaufverfolgungssitzung. boolean Nein false
Stapel Erfassen von Stapeln mit dem Ereignis boolean Nein false
SID Schließen Sie den Sicherheitsbezeichner (SID) des Benutzers in die erweiterten Daten protokollierter Ereignisse ein. Legt EVENT_ENABLE_PROPERTY_SID fest. boolean Nein false
TSID Schließen Sie den Terminalsitzungsbezeichner in die erweiterten Daten protokollierter Ereignisse ein. Legt EVENT_ENABLE_PROPERTY_TS_ID fest. boolean Nein false
Level Gibt den Levelwert an. unsignedByte No Zero, das ETW als 0xFF behandelt.
CaptureStateOnly Aktiviert den Anbieter nur beim Start oder Speichern einer Ablaufverfolgungssitzung. boolean Nein false
Strict Lassen Sie die Ablaufverfolgungsaufzeichnung fehlschlagen, wenn der Anbieter nicht aktiviert werden kann. boolean Nein false
EventKey Schließen Sie den Ereignisschlüssel in die erweiterten Daten ein, und legen Sie EVENT_ENABLE_PROPERTY_EVENT_KEY Flag fest. boolean Nein false
ExecludeInPrivate Filtern Sie alle Ereignisse, die als InPrivate-Ereignis gekennzeichnet sind oder aus dem InPrivate-Prozess stammen. Legt EVENT_ENABLE_PROPERTY_EXCLUDE_INPRIVATE Flag fest boolean Nein false
EnableSilos Ermöglicht Hostprotokollierungssitzungen das Sammeln von Crimson-Ereignissen aus Serversilos. Legt EVENT_ENABLE_PROPERTY_ENABLE_SILOS Flag fest. boolean Nein false
ContainerId Kennzeichnet die Ereignisse des Anbieters mit Quellcontainerinformationen. Legt EVENT_ENABLE_PROPERTY_SOURCE_CONTAINER_TRACKING Flag fest. boolean Nein false

Untergeordnete Elemente

Element BESCHREIBUNG Anforderung
Keywords (in EventProvider) Stellt eine Auflistung von Schlüsselwortelementen (in EventProvider) dar. Optional, 1 oder mehr.
CaptureStateOnStart Stellt eine Auflistung von Schlüsselwortelementen (in EventProvider) für Ereignisse dar, die am Anfang einer Ablaufverfolgung erfasst werden sollen. Optional, 0 (null) oder 1.
CaptureStateOnSave Stellt eine Auflistung von Schlüsselwortelementen (in EventProvider) für Ereignisse dar, die bei Speicherung einer Ablaufverfolgung erfasst werden sollen. Optional, 0 (null) oder 1.
CaptureStateOnDemand Stellt eine Auflistung von Schlüsselwortelementen (in EventProvider) für Ereignisse dar, die erfasst werden sollen, wenn der Benutzer mit wpr -capturestateondemand dem Befehl triggert. Optional, 0 (null) oder 1.
Stacks Stellt eine Sammlung von Stapeln dar. Für UMGL-Anbieter. Optional, genau 1.
EventFilters Stellt eine Auflistung von Ereignis-ID-Filtern dar. Optional, genau 1.
StackFilters Stellt eine Auflistung von Stapelfiltern nach Ereignis-ID dar. Optional, genau 1.
EventNameFilters Stellt eine Auflistung von Ereignisnamenfiltern dar. Optional, genau 1.
StackEventNameFilters Stellt eine Auflistung von Stapelfiltern nach Ereignisname dar. Optional, genau 1.
StackKeywordLevelFilter Stellt eine Auflistung von Stapelfiltern nach Schlüsselwort (keyword) und Ebene dar. Optional, genau 1.

Übergeordnete Elemente

Element Beschreibung
EventProviders Stellt eine Auflistung von Schlüsselwortelementen (in EventProvider) dar.
Profiles Stellt eine Sammlung von Sammlern, Anbietern und Profilen dar.

Bemerkungen

Die Reihenfolge der Anbieterdefinition ist wichtig. Definitionen müssen in der folgenden Reihenfolge in der .wprp-Datei angezeigt werden:

  1. Collectors
  2. Systemanbieter
  3. Ereignisanbieter

Optionale interne XML-Tags geben die zu aktivierenden Schlüsselwörter an. Im Gegensatz zu Systemanbietern gibt es keine Textkonstanten, die für Ereignisanbieter definiert sind, sodass hexadezimale Zeichenfolgen verwendet werden müssen. Die Syntax ist jedoch identisch mit den Systemanbietern. Wenn keine Schlüsselwörter angegeben werden, wird der Standardwert von Null verwendet (der von ETW als Zeichenfolge 0xFFFFFFFFFFFFFFFF behandelt wird).

Abgeleitete Ereignisanbieter weisen standardmäßig alle Attribute des Basisanbieters auf. Diese können aufgehoben werden, indem sie explizit im abgeleiteten Sammler angegeben werden. Weitere Informationen finden Sie unter Vererbung.

Beispiel

Im folgenden Codebeispiel werden zwei Ereignisanbieter definiert.

<EventProvider
  Id="Win32K-provider"
  Name="Microsoft-Windows-Win32K"
  NonPagedMemory="true"
  Stack="true"> 
  <Keywords>
    <Keyword
      Value="0x240000"/>
  </Keywords>
</EventProvider>

<EventProvider
  Id="Search-Core-provider"
  Name="Microsoft-Windows-Search-Core"/>

Die folgenden Codebeispiele definieren Aufnahmestatusanbieter.

<EventProvider Id="sample-provider" Name="SampleProvider" NonPagedMemory="true" Level="5">
  <Keywords>
    <Keyword Value="0x98"/> <!-- Provider is enabled with these keywords throughout the tracing session. -->
  </Keywords>
  <CaptureStateOnStart>
    <Keyword Value="0xff4"/> <!-- Provider is enabled with these keywords when tracing is started. -->
  </CaptureStateOnStart>
  <CaptureStateOnSave>
    <Keyword Value="0x118"/> <!-- Provider is enabled with these keywords when tracing is saved. -->
  </CaptureStateOnSave>
</EventProvider>

<EventProvider Id="EventProvider_DWMWin32k_CaptureState" Name="e7ef96be-969f-414f-97d7-3ddb7b558ccc" NonPagedMemory="true" CaptureStateOnly="true" > 
  <!-- CaptureStateOnly="true" means that provider is not enabled throughout the tracing session. -->
  <CaptureStateOnSave>
    <Keyword Value="0x80000"/> <!-- Provider is enabled with these keywords when tracing is saved. -->
  </CaptureStateOnSave>
</EventProvider>

Verwenden Sie für verwaltete Szenarios die folgende Ereignisanbieterdefinition:

<EventCollectorId Value ="ExampleEventCollector">
  <EventProviders>
    <EventProviderId Value="EventProvider_DotNetProvider" /> <!-- You can use this provider in the profile definition because the provider is declared in the built-in profile -->
    <EventProviderId Value="Another_Example_Provider" />
    </EventProvider>
  </EventProviders>
</EventCollectorId>

Elemente