Ejemplo n.º 1
0
        public EventPropertyInfoCPtr GetPropertyInfo(uint propertyIndex)
        {
            if (!HasValue || propertyIndex >= PropertyCount)
            {
                return(new EventPropertyInfoCPtr());
            }

            return(new EventPropertyInfoCPtr(
                       TRACE_EVENT_INFO.GetEventPropertyInfoArray(pTraceEventInfo) + propertyIndex));
        }
Ejemplo n.º 2
0
        public string GetHeaderForProperty(uint propertyIndex)
        {
            if (!HasValue)
            {
                return(string.Empty);
            }
            if (propertyIndex >= PropertyCount)
            {
                return(string.Empty);
            }

            var  infoArray  = TRACE_EVENT_INFO.GetEventPropertyInfoArray(pTraceEventInfo);
            uint nameOffset = infoArray[propertyIndex].NameOffset;

            return(new string((char *)((byte *)pTraceEventInfo + nameOffset)));
        }
Ejemplo n.º 3
0
        public UnmanagedString GetPropertyMap(uint propertyIndex)
        {
            if (!HasValue || propertyIndex >= PropertyCount)
            {
                return(UnmanagedString.Empty);
            }

            var infoArray = TRACE_EVENT_INFO.GetEventPropertyInfoArray(pTraceEventInfo);

            if ((infoArray[0].Flags & PROPERTY_FLAGS.PropertyStruct) == 0)
            {
                infoArray += propertyIndex;
                uint nameOffset = infoArray[propertyIndex].MapNameOffset;
                if (nameOffset > 0)
                {
                    return(new UnmanagedString(
                               (char *)(pTraceEventInfo + nameOffset)));
                }
            }

            return(UnmanagedString.Empty);
        }