// Attach the debug engine to a program. int IDebugEngine2.Attach(IDebugProgram2[] rgpPrograms, IDebugProgramNode2[] rgpProgramNodes, uint celtPrograms, IDebugEventCallback2 ad7Callback, enum_ATTACH_REASON dwReason) { int processId = EngineUtils.GetProcessId(rgpPrograms[0]); if (processId == 0) { return(VSConstants.E_NOTIMPL); } pID = (uint)processId; events = ad7Callback; EngineUtils.RequireOk(rgpPrograms[0].GetProgramId(out m_ad7ProgramId)); AD7EngineCreateEvent.Send(this); AD7ProgramCreateEvent.Send(this); debugThread = new AD7Thread(this); AD7ThreadCreateEvent.Send(this); // This event is optional AD7LoadCompleteEvent.Send(this); return(VSConstants.S_OK); }
internal static void Send(AD7Engine engine) { AD7LoadCompleteEvent eventObject = new AD7LoadCompleteEvent(); engine.Send(eventObject, AD7LoadCompleteEvent.IID); }