IEnumDebugPrograms2
This interface enumerates the programs running in the current debug session.
Syntax
IEnumDebugPrograms2 : IUnknown
Notes for Implementers
The debug engine (DE) implements this interface to provide a list of programs being debugged by the DE.
Notes for Callers
Visual Studio calls EnumPrograms to obtain this interface. EnumPrograms is not used by Visual Studio.
Methods in Vtable Order
The following table shows the methods of IEnumDebugPrograms2
.
Method | Description |
---|---|
Next | Retrieves a specified number of programs in an enumeration sequence. |
Skip | Skips a specified number of programs in an enumeration sequence. |
Reset | Resets an enumeration sequence to the beginning. |
Clone | Creates an enumerator that contains the same enumeration state as the current enumerator. |
GetCount | Gets the number of programs in an enumerator. |
Remarks
Visual Studio uses this interface to:
Populate the Modules window (by calling EnumPrograms and then calling EnumModules on each program).
Populate the Attach to Process list (by calling
IDebugProcess2::EnumPrograms
and then calling QueryInterface on each IDebugProgram2 interface to obtain an IDebugEngineProgram2 interface).Generate a list of DEs that can debug each program in the process (using GetEngineInfo).
Apply Edit and Continue (ENC) updates to each program (by calling IDebugProcess2::EnumPrograms and then calling GetENCUpdate).
Requirements
Header: msdbg.h
Namespace: Microsoft.VisualStudio.Debugger.Interop
Assembly: Microsoft.VisualStudio.Debugger.Interop.dll