IEnumDebugPrograms2
This interface enumerates the programs running in the current debug session.
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 IDebugProcess2::EnumPrograms to obtain this interface. IDebugEngine2::EnumPrograms is not used by Visual Studio.
Methods in Vtable Order
The following table shows the methods of IEnumDebugPrograms2.
Method |
Description |
---|---|
Retrieves a specified number of programs in an enumeration sequence. |
|
Skips a specified number of programs in an enumeration sequence. |
|
Resets an enumeration sequence to the beginning. |
|
Creates an enumerator that contains the same enumeration state as the current enumerator. |
|
Gets the number of programs in an enumerator. |
Remarks
Visual Studio uses this interface to:
Populate the Modules window (by calling IDebugProcess2::EnumPrograms and then calling IDebugProgram2::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 IDebugProgram2::GetEngineInfo).
Apply Edit and Continue (ENC) updates to each program (by calling IDebugProcess2::EnumPrograms and then calling IDebugProgram2::GetENCUpdate).
Requirements
Header: msdbg.h
Namespace: Microsoft.VisualStudio.Debugger.Interop
Assembly: Microsoft.VisualStudio.Debugger.Interop.dll