TRACE_QUERY_INFO_CLASS enumeration (evntrace.h)

Used with EnumerateTraceGuidsEx, TraceQueryInformation, or TraceSetInformation to specify a type of trace information.

Note that TRACE_INFO_CLASS and TRACE_QUERY_INFO_CLASS are typedefs for the same enumeration.

More comprehensive documentation about which APIs the values in the enumeration should be used with, as well as the corresponding buffer input and output formats are available in-line in the TRACE_QUERY_INFO_CLASS enumeration definition in evntrace.h.

Syntax

typedef enum _TRACE_QUERY_INFO_CLASS {
  TraceGuidQueryList = 0,
  TraceGuidQueryInfo = 1,
  TraceGuidQueryProcess = 2,
  TraceStackTracingInfo = 3,
  TraceSystemTraceEnableFlagsInfo = 4,
  TraceSampledProfileIntervalInfo = 5,
  TraceProfileSourceConfigInfo = 6,
  TraceProfileSourceListInfo = 7,
  TracePmcEventListInfo = 8,
  TracePmcCounterListInfo = 9,
  TraceSetDisallowList = 10,
  TraceVersionInfo = 11,
  TraceGroupQueryList = 12,
  TraceGroupQueryInfo = 13,
  TraceDisallowListQuery = 14,
  TraceInfoReserved15,
  TracePeriodicCaptureStateListInfo = 16,
  TracePeriodicCaptureStateInfo = 17,
  TraceProviderBinaryTracking = 18,
  TraceMaxLoggersQuery = 19,
  TraceLbrConfigurationInfo = 20,
  TraceLbrEventListInfo = 21,
  TraceMaxPmcCounterQuery = 22,
  TraceStreamCount = 23,
  TraceStackCachingInfo = 24,
  TracePmcCounterOwners = 25,
  TraceUnifiedStackCachingInfo = 26,
  TracePmcSessionInformation = 27,
  TraceContextRegisterInfo = 28,
  MaxTraceSetInfoClass = 29
} TRACE_QUERY_INFO_CLASS, TRACE_INFO_CLASS;

Constants

 
TraceGuidQueryList
Value: 0
Query for an array of GUIDs of the providers that are registered on the
computer.
TraceGuidQueryInfo
Value: 1
Query for information that each session used to enable the provider.
TraceGuidQueryProcess
Value: 2
Query for an array of GUIDs of the providers that registered themselves in the
same process as the calling process.
TraceStackTracingInfo
Value: 3
Query the setting for call stack tracing for kernel events.

Returns an array of CLASSIC_EVENT_ID
structures. The structures specify the event GUIDs for which stack tracing is
enabled. The array is limited to 256 elements.

The value is supported on Windows 7, Windows Server 2008 R2, and later.
TraceSystemTraceEnableFlagsInfo
Value: 4
Query the setting for the EnableFlags for the system trace provider. For
more information, see the
EVENT_TRACE_PROPERTIES structure.

The value is supported on Windows 8, Windows Server 2012, and later.
TraceSampledProfileIntervalInfo
Value: 5
Queries the setting for the sampling profile interval for the supplied source.

The value is supported on Windows 8, Windows Server 2012, and later.
TraceProfileSourceConfigInfo
Value: 6
Configures the list of profiling sources that will be collected when the
performance monitoring counter profile event fires. The collected counters will
be emitted as part of the PERF_PMC_PROFILE event.

The value is supported on Windows 8, Windows Server 2012, and later.
TraceProfileSourceListInfo
Value: 7
Queries the list of profiling sources available on the system.

The value is supported on Windows 8, Windows Server 2012, and later.
TracePmcEventListInfo
Value: 8
Configures the session with a list of system events for which performance
monitoring counters configured by TracePmcCounterListInfo will be collected.

The value is supported on Windows 8, Windows Server 2012, and later.
TracePmcCounterListInfo
Value: 9
Configures the session with a list of profiling sources that will be collected
when events configured by TracePmcEventListInfo are logged to the session.

The value is supported on Windows 8, Windows Server 2012, and later.
TraceSetDisallowList
Value: 10
Set the list of providers that will not be enabled to this session as part of a
provider group enablement. For more information, see
Provider Traits.

The value is supported on Windows 10, Windows Server 2016, and later.
TraceVersionInfo
Value: 11
Query the trace file version information.

The value is supported on Windows 10, Windows Server 2016, and later.
TraceGroupQueryList
Value: 12
Query an array of GUIDs of the provider groups that are active on the computer.
TraceGroupQueryInfo
Value: 13
The value is supported on Windows 10, Windows Server 2016, and later.

Query information that each session used to enable the provider group.
TraceDisallowListQuery
Value: 14
The value is supported on Windows 10, Windows Server 2016, and later.

Query an array of GUIDs that are disallowed for group enables on this session.

The value is supported on Windows 10, Windows Server 2016, and later.
TraceInfoReserved15
Reserved for future use. Do not use.
TracePeriodicCaptureStateListInfo
Value: 16
Updates the session with a list of providers that will periodically receive the
EVENT_CONTROL_CODE_CAPTURE_STATE control code, akin to a call from
EnableTraceEx2.

For more information, see
TRACE_PERIODIC_CAPTURE_STATE_INFO.

The value is supported on Windows 10, version 1709, Windows Server, version
1709, and later.
TracePeriodicCaptureStateInfo
Value: 17
Queries the limits of periodic capture state settings on the system, including
the minimum time frequency and maximum number of providers that can be
simultaneously configured.

For more information, see
TRACE_PERIODIC_CAPTURE_STATE_INFO.

The value is supported on Windows 10, version 1709, Windows Server, version
1709, and later.
TraceProviderBinaryTracking
Value: 18
Instructs ETW to begin tracking binaries for all providers that are enabled to
the session. The tracking applies to providers that are enabled to the session
at the time of the call as well as to all future providers that are enabled to
the session.

ETW generates tracking events that contain a mapping between provider GUID(s)
and the path to the module containing the callback for the tracked provider. In
the case of a realtime session, the events are provided live in the realtime
buffers. In the case of a file-based session (i.e. if the trace is saved to an
.etl file), the events are aggregated and written to the file header; they will
be among the first events the ETW runtime provides when the .etl file is played
back.

The binary tracking events will have provider id EventTraceGuid and opcode
0x43.

The value is supported on Windows 10, version 1709, Windows Server, version
1709, and later.
TraceMaxLoggersQuery
Value: 19
Queries the currently configured maximum number of ETW logging sessions allowed
by the operating system. Returns a ULONG. Used with
EnumerateTraceGuidsEx.

The value is supported on Windows 10, version 1709, Windows Server, version
1709, and later.
TraceLbrConfigurationInfo
Value: 20
Enables Last Branch Record tracing for the given session, and configures
corresponding LBR filters.

The value is supported on Windows 10, version 19H1, Windows Server, version
1903, and later.
TraceLbrEventListInfo
Value: 21
Configures the list of events that will trigger ETW to trace Last Branch Record
information as configured by TraceLbrConfigurationInfo.

The value is supported on Windows 10, version 19H1, Windows Server, version
1903, and later.
TraceMaxPmcCounterQuery
Value: 22
Queries the maximum number of profiling sources that may be simultaneously
configured for use with ETW.

The value is supported on Windows 10, version 19H1, Windows Server, version
1903, and later.
TraceStreamCount
Value: 23
Queries the configured stream count for a session. This is usually, but not
always, equal to the number of processors on the system, or 1 if no
per-processor buffering is configured for the session.

The value is supported on Windows 10, version 21H2, Windows Server 2022, and
later.
TraceStackCachingInfo
Value: 24
Instructs ETW to begin caching stack traces for RegisterTraceGuids-based
("Classic") events in this session.

The value is supported on Windows 10, version 21H2, Windows Server 2022, and
later.
TracePmcCounterOwners
Value: 25
Queries ETW for a list of processor performance monitoring counters currently in
use. This list may contain counters in use by facilities other than ETW.

The value is supported on Windows 10, version 21H2, Windows Server 2022, and
later.
TraceUnifiedStackCachingInfo
Value: 26
Instructs ETW to begin caching stack traces for both RegisterTraceGuids-based
("Classic") and EventRegister-based events.

The value is supported on Windows 10, version 21H2, Windows Server 2022, and
later.
TracePmcSessionInformation
Value: 27
Query all sessions for their PMC configuration set via TracePmcEventListInfo and TracePmcCounterListInfo.

The value is supported on Windows 10, version 22H2 and later.
TraceContextRegisterInfo
Value: 28
Configures the session with a list of system events for which context register
events will be collected. Context register events contain CPU register
contents at the moment the specified related event is fired.

The value is supported on Windows Server 23H2 and later.
MaxTraceSetInfoClass
Value: 29
Marks the last value in the enumeration. Do not use.

Remarks

The TRACE_INFO_CLASS and TRACE_QUERY_INFO_CLASS enumerations both define the same values. Use both enumerations with the EnumerateTraceGuidsEx function or the TraceSetInformation function.

Requirements

Requirement Value
Minimum supported client Windows 7 [desktop apps only]
Minimum supported server Windows Server 2008 R2 [desktop apps only]
Header evntrace.h

See also

EnumerateTraceGuidsEx

TraceSetInformation