public EventPropertyInfoCPtr GetPropertyInfo(uint propertyIndex) { if (!HasValue || propertyIndex >= PropertyCount) { return(new EventPropertyInfoCPtr()); } return(new EventPropertyInfoCPtr( TRACE_EVENT_INFO.GetEventPropertyInfoArray(pTraceEventInfo) + propertyIndex)); }
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))); }
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); }