Esempio n. 1
0
        public static unsafe void WriteStructured(ref GenericEventDescriptor eventDescriptor, ulong userDataCount, EventDataDescriptor *eventDataPtr)
        {
            try
            {
                //using (var pin = new PinCollection())
                fixed(GenericEventDescriptor *eventDescriptorPtr = &eventDescriptor)
                {
                    var traceEvent = new NativeTypes.FABRIC_ETW_TRACE_EVENT_PAYLOAD()
                    {
                        EventDescriptor         = (IntPtr)eventDescriptorPtr,//pin.AddBlittable(eventDescriptor),
                        EventDataDescriptorList = new NativeTypes.FABRIC_ETW_TRACE_EVENT_DATA_DESCRIPTOR_LIST()
                        {
                            Count = userDataCount,
                            UserDataDescriptor = (IntPtr)eventDataPtr
                        },
                        Reserved = IntPtr.Zero
                    };

                    NativeCommon.WriteManagedStructuredTrace(ref traceEvent);
                }
            }
            catch (Exception ex)
            {
                Console.WriteLine("Exception during interop structured trace writing: {0}", ex);
                Console.WriteLine("EventId: {0}, UserDataCount {1}", eventDescriptor.EventId, userDataCount);
            }
        }
Esempio n. 2
0
 internal static extern void WriteManagedStructuredTrace(
     [In] ref NativeTypes.FABRIC_ETW_TRACE_EVENT_PAYLOAD eventPayload);