private static void reportHandler(Report report, object parameter) { Console.WriteLine("Received report:\n----------------"); Console.WriteLine(" for RCB: " + report.GetRcbReference()); if (report.HasTimestamp()) { Console.WriteLine(" timestamp: " + MmsValue.MsTimeToDateTimeOffset(report.GetTimestamp()).ToString()); } MmsValue values = report.GetDataSetValues(); byte[] entryId = report.GetEntryId(); if (entryId != null) { SoapHexBinary shb = new SoapHexBinary(entryId); Console.WriteLine(" entryID: " + shb.ToString()); } if (report.HasDataSetName()) { Console.WriteLine(" report data set: " + report.GetDataSetName()); } Console.WriteLine(" report dataset contains " + values.Size() + " elements"); for (int i = 0; i < values.Size(); i++) { if (report.GetReasonForInclusion(i) != ReasonForInclusion.REASON_NOT_INCLUDED) { Console.WriteLine(" element " + i + " included for reason " + report.GetReasonForInclusion(i).ToString() + " " + values.GetElement(i)); } if (report.HasDataReference()) { Console.WriteLine(" data-ref: " + report.GetDataReference(i)); } } ReportControlBlock rcb = (ReportControlBlock)parameter; Console.WriteLine(" For RCB: " + rcb.GetObjectReference() + " Buffered: " + rcb.IsBuffered() + " data-set: " + rcb.GetDataSetReference()); }