VSNDK.DebugEngine.EngineCallback.Send C# (CSharp) Method

Send() public method

Send events to the debugger.
public Send ( IDebugEvent2 eventObject, string iidEvent, IDebugProgram2 program, IDebugThread2 thread ) : void
eventObject IDebugEvent2 Event object to be sent to the debugger.
iidEvent string ID of the event.
program IDebugProgram2 A program that is running in a process.
thread IDebugThread2 A thread running in a program.
return void
        public void Send(IDebugEvent2 eventObject, string iidEvent, IDebugProgram2 program, IDebugThread2 thread)
        {
            uint attributes;
            Guid riidEvent = new Guid(iidEvent);

            EngineUtils.RequireOk(eventObject.GetAttributes(out attributes));

            if ((thread == null) && (m_engine != null) && (m_engine.thread != null) && (program != null) && (eventObject != null) && (riidEvent != null) && (attributes != null))
            {
                if (m_engine._currentThreadIndex != -1)
                {
                    EngineUtils.RequireOk(m_ad7Callback.Event(m_engine, null, program, m_engine.thread[m_engine._currentThreadIndex], eventObject, ref riidEvent, attributes));
                }
                else
                {
                    if (m_engine.thread != null)
                        EngineUtils.RequireOk(m_ad7Callback.Event(m_engine, null, program, m_engine.thread[0], eventObject, ref riidEvent, attributes));
                    else
                        EngineUtils.RequireOk(m_ad7Callback.Event(m_engine, null, program, null, eventObject, ref riidEvent, attributes));
                }
            }
            else
                EngineUtils.RequireOk(m_ad7Callback.Event(m_engine, null, program, thread, eventObject, ref riidEvent, attributes));
        }

Same methods

EngineCallback::Send ( IDebugEvent2 eventObject, string iidEvent, IDebugThread2 thread ) : void