Delen via


Een SystemTraceProvider-sessie configureren en starten

SystemTraceProvider is een kernelprovider met een vooraf gedefinieerde set kernelgebeurtenissen die worden ondersteund in Windows 7, Windows Server 2008 R2 en hoger. In Windows 7 en Windows Server 2008 R2 kon de SystemTraceProvider alleen worden gebruikt voor de NT Kernel Logger-sessie.

In Windows 8, Windows Server 2012 en hoger kan de SystemTraceProvider worden gemultiplext voor maximaal 8 loggersessies. De eerste twee sleuven voor loggersessies zijn gereserveerd voor de NT Kernel Logger en de Circular Kernel Context Logger.

Zie De NT Kernel Logger-sessie configureren en startenvoor meer informatie over het gebruik van de NT Kernel Logger-sessie als traceerprovider.

Op Windows 10 SDK build 20348 en hoger kan de SystemTraceProvider worden geconfigureerd via afzonderlijke systeemproviders, die kunnen worden beheerd met EnableTraceEx2 zoals standaardgebeurtenistracering voor Windows-gebeurtenisproviders. Zie System Providers voor een volledige lijst met systeemproviders, trefwoorden en bijbehorende verouderde vlaggen en groepen

Een SystemTraceProvider-sessie inschakelen

Voer de volgende opdracht uit om de SystemTraceProvider in te schakelen voor het starten van een andere sessie dan de NT Kernel Logger:

tracelog -start MySession -f c:\Kernel1.etl -eflag PROC_THREAD+LOADER+CSWITCH

Gebruik de volgende stappen om de SystemTraceProvider programmatisch in te schakelen voor het starten van een andere sessie dan de NT Kernel Logger.

  • Definieer een persoonlijke logboekregistratienaam.

    #define PRIVATE_LOGGER_NAME L"Some Private Trace Session"

  • Stel op de controller de volgende leden van de EVENT_TRACE_PROPERTIES structuur in.

    Stel LogFileMode in op EVENT_TRACE_SYSTEM_LOGGER_MODE.

    Stel LoggerName- in op privélogger, in plaats van KERNEL_LOGGER_NAME.

    Zorg ervoor dat de Wnode.Guid- lid van de EVENT_TRACE_PROPERTIES-structuur niet is ingesteld op SystemTraceControlGuid-. U moet een nieuwe GUID- aan dit lid toewijzen.

  • Stel bij de consument de LoggerName lid van de EVENT_TRACE_LOGFILE structuur in op deze privélogger.

Notitie

Als u wilt dat een niet-beheerder of een niet-TCB-proces een profileringstraceringssessie kan starten met behulp van systemTraceProvider namens toepassingen van derden, moet u de gebruikersprofielmachtiging verlenen en deze gebruiker vervolgens toevoegen aan zowel de sessie GUID- (gemaakt voor de logboekregistratiesessie) als de systeemtraceringsprovider GUID- om de systeemtraceringsprovider in te schakelen. Zie de functie EventAccessControl voor meer informatie.

 

een privélogboeksessie configureren en starten

Een AutoLogger-sessie configureren en starten

een sessie voor gebeurtenistracering configureren en starten

NT Kernel Logger Session configureren en starten

systeembeheerders

een sessie voor gebeurtenistracering bijwerken