/// <summary> /// Perform actual send /// </summary> private void Send(IDebugProcess2 process, IDebugProgram2 program, IDebugThread2 thread, BaseEvent @event) { var guid = @event.IID; DLog.Debug(DContext.VSDebuggerEvent, "DebugEngine Event {0} {1}", @event.GetType().Name, guid); var rc = callback.Event(engine, process, program, thread, @event, ref guid, (uint)@event.Attributes); if (!ErrorHandler.Succeeded(rc)) { DLog.Error(DContext.VSDebuggerEvent, "DebugEngine Event failed {0}", rc); } }
/// <summary> /// Send the given event to all event sinks /// </summary> private void SendEvent(IDebugCoreServer2 server, IDebugPort2 port, IDebugProcess2 process, IDebugProgram2 program, BaseEvent @event) { var iid = @event.IID; DLog.Debug(DContext.VSDebuggerEvent, "DebugPort Event {0} {1}", @event.GetType().Name, iid); foreach (var eventSink in eventSinks) { var events = eventSink as IDebugPortEvents2; if (events != null) { var rc = events.Event(server, port, process, program, @event, ref iid); if (!ErrorHandler.Succeeded(rc)) { DLog.Error(DContext.VSDebuggerEvent, "DebugPort Event failed {0}", rc); } } } }