Example #1
0
        private void RawDispatch(TraceEventNativeMethods.EVENT_RECORD *rawData)
        {
            Debug.Assert(rawData->EventHeader.HeaderType == 0);     // if non-zero probably old-style ETW header
            TraceEvent anEvent = Lookup(rawData);

            // Keep in mind that for UnhandledTraceEvent 'PrepForCallback' has NOT been called, which means the
            // opcode, guid and eventIds are not correct at this point.  The ToString() routine WILL call
            // this so if that is in your debug window, it will have this side effect (which is good and bad)
            // Looking at rawData will give you the truth however.
            anEvent.DebugValidate();

            if (anEvent.FixupETLData != null)
            {
                anEvent.FixupETLData();
            }
            Dispatch(anEvent);
        }