#ifndef _NTWMI_H
// rev
typedef enum _ETWTRACECONTROLCODE
{
EtwStartLoggerCode = 1, // inout WMI_LOGGER_INFORMATION (>= 0xB0)
EtwStopLoggerCode = 2, // inout WMI_LOGGER_INFORMATION (>= 0xB0)
EtwQueryLoggerCode = 3, // inout WMI_LOGGER_INFORMATION (>= 0xB0)
EtwUpdateLoggerCode = 4, // inout WMI_LOGGER_INFORMATION (>= 0xB0)
EtwFlushLoggerCode = 5, // inout WMI_LOGGER_INFORMATION (>= 0xB0)
EtwIncrementLoggerFile = 6, // inout WMI_LOGGER_INFORMATION (>= 0xB0)
EtwRealtimeTransition = 7, // inout WMI_LOGGER_INFORMATION (>= 0xB0)
// reserved
EtwRealtimeConnectCode = 11, // inout ETW_REALTIME_CONNECT_INFORMATION
EtwActivityIdCreate = 12, // out ETW_ACTIVITY_ID_CREATE_INFORMATION
EtwWdiScenarioCode = 13, // in ETW_WDI_SCENARIO_INFORMATION
EtwRealtimeDisconnectCode = 14, // in ETW_REALTIME_DISCONNECT_INFORMATION
EtwRegisterGuidsCode = 15, // in ETW_UM_REGISTRATION_INFORMATION, out ETW_UM_REGISTRATION_REPLY
EtwReceiveNotification = 16, // out ETW_NOTIFICATION_HEADER + payload
EtwSendDataBlock = 17, // in ETW_ENABLE_NOTIFICATION_PACKET, out ETW_SESSION_NOTIFICATION_PACKET
EtwSendReplyDataBlock = 18, // in ETW_NOTIFICATION_HEADER + payload
EtwReceiveReplyDataBlock = 19, // in ETW_RECEIVE_REPLY_DATA_BLOCK_INFORMATION, out ETW_NOTIFICATION_HEADER + payload
EtwWdiSemUpdate = 20, // inout no input/output buffers
EtwEnumTraceGuidList = 21, // out ETW_TRACE_GUID_LIST
EtwGetTraceGuidInfo = 22, // in ETW_TRACE_GUID_INFO_INFORMATION, out ETW_TRACE_GUID_INFO + ETW_TRACE_PROVIDER_INSTANCE_INFO + ETW_TRACE_ENABLE_INFO[]
EtwEnumerateTraceGuids = 23, // out TRACE_GUID_PROPERTIES[]
EtwRegisterSecurityProv = 24, // inout no input/output buffers
EtwReferenceTimeCode = 25, // in ETW_REFERENCE_TIME_INFORMATION, out ETW_REF_CLOCK
EtwTrackBinaryCode = 26, // in ETW_PROVIDER_BINARY_TRACKING_INFORMATION
EtwAddNotificationEvent = 27, // in ETW_NOTIFICATION_EVENT_INFORMATION
EtwUpdateDisallowList = 28, // in ETW_UPDATE_DISALLOW_LIST_INFORMATION
EtwSetEnableAllKeywordsCode = 29, // in not implemented
EtwSetProviderTraitsCode = 30, // in ETW_SET_PROVIDER_TRAITS_INFORMATION, out ETW_SET_PROVIDER_TRAITS_REPLY
EtwUseDescriptorTypeCode = 31, // in ETW_USE_DESCRIPTOR_TYPE_INFORMATION
EtwEnumTraceGroupList = 32, // out ETW_TRACE_GUID_LIST
EtwGetTraceGroupInfo = 33, // in ETW_TRACE_GROUP_INFO_INFORMATION, out ETW_TRACE_GROUP_INFO
EtwGetDisallowList = 34, // in ETW_GET_DISALLOW_LIST_INFORMATION, out ETW_DISALLOW_LIST
EtwSetCompressionSettings = 35, // in ETW_SET_COMPRESSION_SETTINGS_INFORMATION
EtwGetCompressionSettings = 36, // in ETW_GET_COMPRESSION_SETTINGS_INFORMATION, out ETW_COMPRESSION_SETTINGS_DATA
EtwUpdatePeriodicCaptureState = 37, // in ETW_UPDATE_PERIODIC_CAPTURE_STATE_INFORMATION
EtwGetPrivateSessionTraceHandle = 38, // in ETW_GET_PRIVATE_SESSION_TRACE_HANDLE_INFORMATION, out USHORT PrivateSessionHandle
EtwRegisterPrivateSession = 39, // inout ETW_REGISTER_PRIVATE_SESSION_INFORMATION
EtwQuerySessionDemuxObject = 40, // inout ETW_QUERY_SESSION_DEMUX_OBJECT_INFORMATION
EtwSetProviderBinaryTracking = 41, // in ETW_SET_PROVIDER_BINARY_TRACKING_INFORMATION
EtwMaxLoggers = 42, // out ETW_MAX_LOGGERS_INFORMATION
EtwMaxPmcCounter = 43, // out ETW_MAX_PMC_COUNTER_INFORMATION
EtwQueryUsedProcessorCount = 44, // in ETW_QUERY_USED_PROCESSOR_COUNT_INFORMATION (LoggerId), out ULONG // since WIN11
EtwGetPmcOwnership = 45, // inout ETW_PMC_OWNERSHIP_INFORMATION
EtwGetPmcSessions = 46, // out ETW_PMC_SESSION_INFORMATION[]
EtwTraceControlMax = 47,
} ETWTRACECONTROLCODE;
View code on GitHubNo description available.