Files
2023-02-09 09:12:52 +02:00

108 lines
5.1 KiB
C#

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Microsoft.Diagnostics.Tracing.Parsers.MicrosoftWindowsRPC;
namespace RPCMon.Control
{
class EventWrapper
{
private RpcClientCallStartArgs_V1TraceData m_ClientCallEvent;
private RpcServerCallStartArgs_V1TraceData m_ServerCallEvent;
private int m_ProcessID;
private string m_ThreadID;
private string m_InterfaceUuid;
private string m_NetworkAddress;
private string m_Protocol;
private string m_Endpoint;
private string m_TimeStamp;
private string m_Options;
private string m_AuthenticationLevel;
private string m_AuthenticationService;
private string m_ImpersonationLevel;
private string m_ProcessName;
private int m_ProcNum;
private string m_TaskName;
public EventWrapper(RpcClientCallStartArgs_V1TraceData ClientCallEvent)
{
this.m_ClientCallEvent = ClientCallEvent;
this.m_ServerCallEvent = null;
this.m_ProcessID = ClientCallEvent.ProcessID;
this.m_ThreadID = ClientCallEvent.ThreadID.ToString();
this.m_InterfaceUuid = ClientCallEvent.InterfaceUuid.ToString();
this.m_NetworkAddress = ClientCallEvent.NetworkAddress.ToString();
this.m_Protocol = ClientCallEvent.Protocol.ToString();
this.m_Endpoint = ClientCallEvent.Endpoint.ToString();
this.m_TimeStamp = ClientCallEvent.TimeStamp.ToString("dd/MMM/yyyy hh:mm:ss.fff tt");
this.m_Options = ClientCallEvent.Options.ToString();
this.m_AuthenticationLevel = ClientCallEvent.AuthenticationLevel.ToString();
this.m_AuthenticationService = ClientCallEvent.AuthenticationService.ToString();
this.m_ImpersonationLevel = ((ImpersonationLevels)ClientCallEvent.ImpersonationLevel).ToString();
this.m_ProcessName = ClientCallEvent.ProcessName;
this.m_ProcNum = ClientCallEvent.ProcNum;
this.m_TaskName = ClientCallEvent.TaskName.ToString() + ClientCallEvent.OpcodeName;
}
public EventWrapper(RpcServerCallStartArgs_V1TraceData ServerCallEvent)
{
this.m_ServerCallEvent = ServerCallEvent;
this.m_ServerCallEvent = null;
this.m_ProcessID = ServerCallEvent.ProcessID;
this.m_ThreadID = ServerCallEvent.ThreadID.ToString();
this.m_InterfaceUuid = ServerCallEvent.InterfaceUuid.ToString();
this.m_NetworkAddress = ServerCallEvent.NetworkAddress.ToString();
this.m_Protocol = ((ProtocolSequences)ServerCallEvent.Protocol).ToString();
this.m_Endpoint = ServerCallEvent.Endpoint.ToString();
this.m_TimeStamp = ServerCallEvent.TimeStamp.ToString("dd/MMM/yyyy hh:mm:ss.fff tt");
this.m_Options = ServerCallEvent.Options.ToString();
this.m_AuthenticationLevel = ServerCallEvent.AuthenticationLevel.ToString();
this.m_AuthenticationService = ServerCallEvent.AuthenticationService.ToString();
this.m_ImpersonationLevel = ServerCallEvent.ImpersonationLevel.ToString();
this.m_ProcessName = ServerCallEvent.ProcessName;
this.m_ProcNum = ServerCallEvent.ProcNum;
this.m_TaskName = ServerCallEvent.TaskName.ToString() + ServerCallEvent.OpcodeName;
}
public EventWrapper(RpcClientCallStop7Args_V1TraceData ClinetCallEvent)
{
this.m_ProcessID = ClinetCallEvent.ProcessID;
this.m_ThreadID = ClinetCallEvent.ThreadID.ToString();
this.m_ProcessID = ClinetCallEvent.ProcessID;
this.m_InterfaceUuid = "";
this.m_NetworkAddress = "";
this.m_Protocol = "";
this.m_Endpoint = "";
this.m_TimeStamp = ClinetCallEvent.TimeStamp.ToString("dd/MMM/yyyy hh:mm:ss.fff tt");
this.m_Options = "";
this.m_AuthenticationLevel = "";
this.m_AuthenticationService = "";
this.m_ImpersonationLevel = "";
this.m_ProcessName = ClinetCallEvent.ProcessName;
this.m_ProcNum = -1;
this.m_TaskName = ClinetCallEvent.TaskName.ToString() + ClinetCallEvent.OpcodeName;
}
public int ProcessID { get => m_ProcessID;}
public string ThreadID { get => m_ThreadID;}
public string InterfaceUuid { get => m_InterfaceUuid;}
public string NetworkAddress { get => m_NetworkAddress; }
public string Protocol { get => m_Protocol; }
public string Endpoint { get => m_Endpoint; }
public string TimeStamp { get => m_TimeStamp; }
public string Options { get => m_Options; }
public string AuthenticationLevel { get => m_AuthenticationLevel; }
public string AuthenticationService { get => m_AuthenticationService; }
public string ImpersonationLevel { get => m_ImpersonationLevel; }
public int ProcNum { get => m_ProcNum; }
public string ProcessName { get => m_ProcessName; }
public string TaskName { get => m_TaskName; }
}
}