public static void LoadEventTypes(Controller !hostController) { int currentSize = 100; UIntPtr [] eventTypeArray = new UIntPtr[currentSize]; if (eventTypeArray != null) { QuerySession.FlushCaches(); int eventTypeCount = hostController.QueryEventTypeList(eventTypeArray, currentSize); while (eventTypeCount > currentSize) { eventTypeArray = new UIntPtr[eventTypeCount]; eventTypeCount = hostController.QueryEventTypeList(eventTypeArray, currentSize); } for (int i = 0; i < eventTypeCount; i++) { EventDescriptor descriptor = QuerySession.GetEventDescriptor(hostController, eventTypeArray[i]); if (descriptor != null) { Console.WriteLine("Event type \"{0}\"", descriptor.GetName()); } } } }
static internal bool SourceDelegate(UIntPtr sourceHandle, UIntPtr storageHandle, UIntPtr eventType, UInt16 count, string bufferName, EventDescriptor descriptor, ref EnumerationContext context) { if (SourceFilter != null) { if (!Regex.IsMatch(bufferName, SourceFilter)) { return(true); } } if (descriptor != null) { Console.WriteLine("Source: \"{0}\". {1} entries of type {2}", bufferName, count, descriptor.GetName()); if (DumpAll) { Console.Write("Index"); descriptor.EnumerateFields(new QueryFieldDelegate(TableHeadDelegate), null, ref context); Console.WriteLine(""); Console.Write("-----"); for (int i = 0; i < descriptor.GetFieldsCount(); i++) { Console.Write("----------"); } Console.WriteLine(""); } } else { Console.WriteLine("Source: \"{0}\". Storage handle ={1}", bufferName, sourceHandle); } return(true); }