Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ GetOrCreateEventHandle()

unsafe IntPtr System.Diagnostics.Tracing.NameInfo.GetOrCreateEventHandle ( EventProvider provider,
TraceLoggingEventHandleTable eventHandleTable,
EventDescriptor descriptor,
TraceLoggingEventTypes eventTypes )
inline

Definition at line 63 of file NameInfo.cs.

64 {
66 if ((intPtr = eventHandleTable[descriptor.EventId]) == IntPtr.Zero)
67 {
69 {
70 if ((intPtr = eventHandleTable[descriptor.EventId]) == IntPtr.Zero)
71 {
72 byte[] array = EventPipeMetadataGenerator.Instance.GenerateEventMetadata(descriptor.EventId, name, (EventKeywords)descriptor.Keywords, (EventLevel)descriptor.Level, descriptor.Version, (EventOpcode)descriptor.Opcode, eventTypes);
73 uint metadataLength = ((array != null) ? ((uint)array.Length) : 0u);
74 fixed (byte* pMetadata = array)
75 {
76 intPtr = provider.m_eventProvider.DefineEventHandle((uint)descriptor.EventId, name, descriptor.Keywords, descriptor.Version, descriptor.Level, pMetadata, metadataLength);
77 }
78 eventHandleTable.SetEventHandle(descriptor.EventId, intPtr);
79 }
80 }
81 }
82 return intPtr;
83 }

References System.array, System.Diagnostics.Tracing.EventDescriptor.EventId, System.Diagnostics.Tracing.EventPipeMetadataGenerator.Instance, System.Diagnostics.Tracing.EventDescriptor.Keywords, System.Diagnostics.Tracing.EventDescriptor.Level, System.Diagnostics.Tracing.NameInfo.name, System.Diagnostics.Tracing.EventDescriptor.Opcode, System.Diagnostics.Tracing.EventDescriptor.Version, and System.IntPtr.Zero.