### evntrace.h ###

CloseTrace=func
func.CloseTrace.args=1
func.CloseTrace.arg.0=TRACEHANDLE,TraceHandle
func.CloseTrace.ret=ULONG

ControlTraceA=func
func.ControlTraceA.args=4
func.ControlTraceA.arg.0=TRACEHANDLE,TraceHandle
func.ControlTraceA.arg.1=LPCSTR,InstanceName
func.ControlTraceA.arg.2=PEVENT_TRACE_PROPERTIES,Properties
func.ControlTraceA.arg.3=ULONG,ControlCode
func.ControlTraceA.ret=ULONG

ControlTraceW=func
func.ControlTraceW.args=4
func.ControlTraceW.arg.0=TRACEHANDLE,TraceHandle
func.ControlTraceW.arg.1=LPCWSTR,InstanceName
func.ControlTraceW.arg.2=PEVENT_TRACE_PROPERTIES,Properties
func.ControlTraceW.arg.3=ULONG,ControlCode
func.ControlTraceW.ret=ULONG

CreateTraceInstanceId=func
func.CreateTraceInstanceId.args=2
func.CreateTraceInstanceId.arg.0=HANDLE,RegHandle
func.CreateTraceInstanceId.arg.1=PEVENT_INSTANCE_INFO,InstInfo
func.CreateTraceInstanceId.ret=ULONG

EnableTrace=func
func.EnableTrace.args=5
func.EnableTrace.arg.0=ULONG,Enable
func.EnableTrace.arg.1=ULONG,EnableFlag
func.EnableTrace.arg.2=ULONG,EnableLevel
func.EnableTrace.arg.3=LPCGUID,ControlGuid
func.EnableTrace.arg.4=TRACEHANDLE,TraceHandle
func.EnableTrace.ret=ULONG

EnableTraceEx=func
func.EnableTraceEx.args=9
func.EnableTraceEx.arg.0=LPCGUID,ProviderId
func.EnableTraceEx.arg.1=LPCGUID,SourceId
func.EnableTraceEx.arg.2=TRACEHANDLE,TraceHandle
func.EnableTraceEx.arg.3=ULONG,IsEnabled
func.EnableTraceEx.arg.4=UCHAR,Level
func.EnableTraceEx.arg.5=ULONGLONG,MatchAnyKeyword
func.EnableTraceEx.arg.6=ULONGLONG,MatchAllKeyword
func.EnableTraceEx.arg.7=ULONG,EnableProperty
func.EnableTraceEx.arg.8=PEVENT_FILTER_DESCRIPTOR,EnableFilterDesc
func.EnableTraceEx.ret=ULONG

EnableTraceEx2=func
func.EnableTraceEx2.args=8
func.EnableTraceEx2.arg.0=TRACEHANDLE,TraceHandle
func.EnableTraceEx2.arg.1=LPCGUID,ProviderId
func.EnableTraceEx2.arg.2=ULONG,ControlCode
func.EnableTraceEx2.arg.3=UCHAR,Level
func.EnableTraceEx2.arg.4=ULONGLONG,MatchAnyKeyword
func.EnableTraceEx2.arg.5=ULONGLONG,MatchAllKeyword
func.EnableTraceEx2.arg.6=ULONG,Timeout
func.EnableTraceEx2.arg.7=PENABLE_TRACE_PARAMETERS,EnableParameters
func.EnableTraceEx2.ret=ULONG

EnumerateTraceGuids=func
func.EnumerateTraceGuids.args=3
func.EnumerateTraceGuids.arg.0=PTRACE_GUID_PROPERTIES *,GuidPropertiesArray
func.EnumerateTraceGuids.arg.1=ULONG,PropertyArrayCount
func.EnumerateTraceGuids.arg.2=PULONG,GuidCount
func.EnumerateTraceGuids.ret=ULONG

EnumerateTraceGuidsEx=func
func.EnumerateTraceGuidsEx.args=6
func.EnumerateTraceGuidsEx.arg.0=TRACE_QUERY_INFO_CLASS,TraceQueryInfoClass
func.EnumerateTraceGuidsEx.arg.1=PVOID,InBuffer
func.EnumerateTraceGuidsEx.arg.2=ULONG,InBufferSize
func.EnumerateTraceGuidsEx.arg.3=PVOID,OutBuffer
func.EnumerateTraceGuidsEx.arg.4=ULONG,OutBufferSize
func.EnumerateTraceGuidsEx.arg.5=PULONG,ReturnLength
func.EnumerateTraceGuidsEx.ret=ULONG

FlushTraceA=func
func.FlushTraceA.args=3
func.FlushTraceA.arg.0=TRACEHANDLE,TraceHandle
func.FlushTraceA.arg.1=LPCSTR,InstanceName
func.FlushTraceA.arg.2=PEVENT_TRACE_PROPERTIES,Properties
func.FlushTraceA.ret=ULONG

FlushTraceW=func
func.FlushTraceW.args=3
func.FlushTraceW.arg.0=TRACEHANDLE,TraceHandle
func.FlushTraceW.arg.1=LPCWSTR,InstanceName
func.FlushTraceW.arg.2=PEVENT_TRACE_PROPERTIES,Properties
func.FlushTraceW.ret=ULONG

GetTraceEnableFlags=func
func.GetTraceEnableFlags.args=1
func.GetTraceEnableFlags.arg.0=TRACEHANDLE,TraceHandle
func.GetTraceEnableFlags.ret=ULONG

GetTraceEnableLevel=func
func.GetTraceEnableLevel.args=1
func.GetTraceEnableLevel.arg.0=TRACEHANDLE,TraceHandle
func.GetTraceEnableLevel.ret=UCHAR

GetTraceLoggerHandle=func
func.GetTraceLoggerHandle.args=1
func.GetTraceLoggerHandle.arg.0=PVOID,Buffer
func.GetTraceLoggerHandle.ret=TRACEHANDLE

OpenTraceA=func
func.OpenTraceA.args=1
func.OpenTraceA.arg.0=PEVENT_TRACE_LOGFILEA,Logfile
func.OpenTraceA.ret=TRACEHANDLE

OpenTraceW=func
func.OpenTraceW.args=1
func.OpenTraceW.arg.0=PEVENT_TRACE_LOGFILEW,Logfile
func.OpenTraceW.ret=TRACEHANDLE

ProcessTrace=func
func.ProcessTrace.args=4
func.ProcessTrace.arg.0=PTRACEHANDLE,HandleArray
func.ProcessTrace.arg.1=ULONG,HandleCount
func.ProcessTrace.arg.2=LPFILETIME,StartTime
func.ProcessTrace.arg.3=LPFILETIME,EndTime
func.ProcessTrace.ret=ULONG

QueryAllTracesA=func
func.QueryAllTracesA.args=3
func.QueryAllTracesA.arg.0=PEVENT_TRACE_PROPERTIES *,PropertyArray
func.QueryAllTracesA.arg.1=ULONG,PropertyArrayCount
func.QueryAllTracesA.arg.2=PULONG,LoggerCount
func.QueryAllTracesA.ret=ULONG

QueryAllTracesW=func
func.QueryAllTracesW.args=3
func.QueryAllTracesW.arg.0=PEVENT_TRACE_PROPERTIES *,PropertyArray
func.QueryAllTracesW.arg.1=ULONG,PropertyArrayCount
func.QueryAllTracesW.arg.2=PULONG,LoggerCount
func.QueryAllTracesW.ret=ULONG

QueryTraceA=func
func.QueryTraceA.args=3
func.QueryTraceA.arg.0=TRACEHANDLE,TraceHandle
func.QueryTraceA.arg.1=LPCSTR,InstanceName
func.QueryTraceA.arg.2=PEVENT_TRACE_PROPERTIES,Properties
func.QueryTraceA.ret=ULONG

QueryTraceProcessingHandle=func
func.QueryTraceProcessingHandle.args=7
func.QueryTraceProcessingHandle.arg.0=TRACEHANDLE,ProcessingHandle
func.QueryTraceProcessingHandle.arg.1=ETW_PROCESS_HANDLE_INFO_TYPE,InformationClass
func.QueryTraceProcessingHandle.arg.2=PVOID,InBuffer
func.QueryTraceProcessingHandle.arg.3=ULONG,InBufferSize
func.QueryTraceProcessingHandle.arg.4=PVOID,OutBuffer
func.QueryTraceProcessingHandle.arg.5=ULONG,OutBufferSize
func.QueryTraceProcessingHandle.arg.6=PULONG,ReturnLength
func.QueryTraceProcessingHandle.ret=ULONG

QueryTraceW=func
func.QueryTraceW.args=3
func.QueryTraceW.arg.0=TRACEHANDLE,TraceHandle
func.QueryTraceW.arg.1=LPCWSTR,InstanceName
func.QueryTraceW.arg.2=PEVENT_TRACE_PROPERTIES,Properties
func.QueryTraceW.ret=ULONG

RegisterTraceGuidsA=func
func.RegisterTraceGuidsA.args=8
func.RegisterTraceGuidsA.arg.0=WMIDPREQUEST,RequestAddress
func.RegisterTraceGuidsA.arg.1=PVOID,RequestContext
func.RegisterTraceGuidsA.arg.2=LPCGUID,ControlGuid
func.RegisterTraceGuidsA.arg.3=ULONG,GuidCount
func.RegisterTraceGuidsA.arg.4=PTRACE_GUID_REGISTRATION,TraceGuidReg
func.RegisterTraceGuidsA.arg.5=LPCSTR,MofImagePath
func.RegisterTraceGuidsA.arg.6=LPCSTR,MofResourceName
func.RegisterTraceGuidsA.arg.7=PTRACEHANDLE,RegistrationHandle
func.RegisterTraceGuidsA.ret=ULONG

RegisterTraceGuidsW=func
func.RegisterTraceGuidsW.args=8
func.RegisterTraceGuidsW.arg.0=WMIDPREQUEST,RequestAddress
func.RegisterTraceGuidsW.arg.1=PVOID,RequestContext
func.RegisterTraceGuidsW.arg.2=LPCGUID,ControlGuid
func.RegisterTraceGuidsW.arg.3=ULONG,GuidCount
func.RegisterTraceGuidsW.arg.4=PTRACE_GUID_REGISTRATION,TraceGuidReg
func.RegisterTraceGuidsW.arg.5=LPCWSTR,MofImagePath
func.RegisterTraceGuidsW.arg.6=LPCWSTR,MofResourceName
func.RegisterTraceGuidsW.arg.7=PTRACEHANDLE,RegistrationHandle
func.RegisterTraceGuidsW.ret=ULONG

RemoveTraceCallback=func
func.RemoveTraceCallback.args=1
func.RemoveTraceCallback.arg.0=LPCGUID,pGuid
func.RemoveTraceCallback.ret=ULONG

SetTraceCallback=func
func.SetTraceCallback.args=2
func.SetTraceCallback.arg.0=LPCGUID,pGuid
func.SetTraceCallback.arg.1=PEVENT_CALLBACK,EventCallback
func.SetTraceCallback.ret=ULONG

StartTraceA=func
func.StartTraceA.args=3
func.StartTraceA.arg.0=PTRACEHANDLE,TraceHandle
func.StartTraceA.arg.1=LPCSTR,InstanceName
func.StartTraceA.arg.2=PEVENT_TRACE_PROPERTIES,Properties
func.StartTraceA.ret=ULONG

StartTraceW=func
func.StartTraceW.args=3
func.StartTraceW.arg.0=PTRACEHANDLE,TraceHandle
func.StartTraceW.arg.1=LPCWSTR,InstanceName
func.StartTraceW.arg.2=PEVENT_TRACE_PROPERTIES,Properties
func.StartTraceW.ret=ULONG

StopTraceA=func
func.StopTraceA.args=3
func.StopTraceA.arg.0=TRACEHANDLE,TraceHandle
func.StopTraceA.arg.1=LPCSTR,InstanceName
func.StopTraceA.arg.2=PEVENT_TRACE_PROPERTIES,Properties
func.StopTraceA.ret=ULONG

StopTraceW=func
func.StopTraceW.args=3
func.StopTraceW.arg.0=TRACEHANDLE,TraceHandle
func.StopTraceW.arg.1=LPCWSTR,InstanceName
func.StopTraceW.arg.2=PEVENT_TRACE_PROPERTIES,Properties
func.StopTraceW.ret=ULONG

TraceEvent=func
func.TraceEvent.args=2
func.TraceEvent.arg.0=TRACEHANDLE,TraceHandle
func.TraceEvent.arg.1=PEVENT_TRACE_HEADER,EventTrace
func.TraceEvent.ret=ULONG

TraceEventInstance=func
func.TraceEventInstance.args=4
func.TraceEventInstance.arg.0=TRACEHANDLE,TraceHandle
func.TraceEventInstance.arg.1=PEVENT_INSTANCE_HEADER,EventTrace
func.TraceEventInstance.arg.2=PEVENT_INSTANCE_INFO,InstInfo
func.TraceEventInstance.arg.3=PEVENT_INSTANCE_INFO,ParentInstInfo
func.TraceEventInstance.ret=ULONG

TraceMessage=func
func.TraceMessage.args=5
func.TraceMessage.arg.0=TRACEHANDLE,LoggerHandle
func.TraceMessage.arg.1=ULONG,MessageFlags
func.TraceMessage.arg.2=LPCGUID,MessageGuid
func.TraceMessage.arg.3=USHORT,MessageNumber
func.TraceMessage.arg.4=,...
func.TraceMessage.ret=ULONG

TraceMessageVa=func
func.TraceMessageVa.args=5
func.TraceMessageVa.arg.0=TRACEHANDLE,LoggerHandle
func.TraceMessageVa.arg.1=ULONG,MessageFlags
func.TraceMessageVa.arg.2=LPCGUID,MessageGuid
func.TraceMessageVa.arg.3=USHORT,MessageNumber
func.TraceMessageVa.arg.4=va_list,MessageArgList
func.TraceMessageVa.ret=ULONG

TraceQueryInformation=func
func.TraceQueryInformation.args=5
func.TraceQueryInformation.arg.0=TRACEHANDLE,SessionHandle
func.TraceQueryInformation.arg.1=TRACE_INFO_CLASS,InformationClass
func.TraceQueryInformation.arg.2=PVOID,TraceInformation
func.TraceQueryInformation.arg.3=ULONG,InformationLength
func.TraceQueryInformation.arg.4=PULONG,ReturnLength
func.TraceQueryInformation.ret=ULONG

TraceSetInformation=func
func.TraceSetInformation.args=4
func.TraceSetInformation.arg.0=TRACEHANDLE,SessionHandle
func.TraceSetInformation.arg.1=TRACE_INFO_CLASS,InformationClass
func.TraceSetInformation.arg.2=PVOID,TraceInformation
func.TraceSetInformation.arg.3=ULONG,InformationLength
func.TraceSetInformation.ret=ULONG

UnregisterTraceGuids=func
func.UnregisterTraceGuids.args=1
func.UnregisterTraceGuids.arg.0=TRACEHANDLE,RegistrationHandle
func.UnregisterTraceGuids.ret=ULONG

UpdateTraceA=func
func.UpdateTraceA.args=3
func.UpdateTraceA.arg.0=TRACEHANDLE,TraceHandle
func.UpdateTraceA.arg.1=LPCSTR,InstanceName
func.UpdateTraceA.arg.2=PEVENT_TRACE_PROPERTIES,Properties
func.UpdateTraceA.ret=ULONG

UpdateTraceW=func
func.UpdateTraceW.args=3
func.UpdateTraceW.arg.0=TRACEHANDLE,TraceHandle
func.UpdateTraceW.arg.1=LPCWSTR,InstanceName
func.UpdateTraceW.arg.2=PEVENT_TRACE_PROPERTIES,Properties
func.UpdateTraceW.ret=ULONG
