Required Port Supplier Interfaces
A port supplier must implement the IDebugPortSupplier2 interface.IDebugPortSupplier2
Because a port supplier supplies ports, it must also implement them. Therefore, it must implement the following interfaces:
-
Describes the port and can enumerate all processes running on the port.
-
Provides for launching and terminating processes on the port.
-
Provides a mechanism for programs running within this port's context to notify it of program node creation and destruction. For more information, see Program Nodes.
IConnectionPointContainer
Provides a connection point for IDebugPortEvents2.
Port Supplier Operation
The IDebugPortEvents2 sink receives notifications when process and programs are created and destroyed on a port. A port is required to send IDebugProcessCreateEvent2 when a process is created and IDebugProcessDestroyEvent2 when a process is destroyed on the port. A port is also required to send IDebugProgramCreateEvent2 when a program is created and IDebugProgramDestroyEvent2 when a program is destroyed in a process running on the port.
A port typically sends program create and destroy events in response to the IDebugPortNotify2::AddProgramNode and IDebugPortNotify2::RemoveProgramNode methods, respectively.
Because a port can launch and terminate both physical processes and logical programs, these interfaces must also be implemented by the debug engine:
-
Describes the physical process. At least the following methods must be implemented:
-
Provides a way for the SDM to attach and detach itself from a process.
-
Describes the logical program. At least the following methods must be implemented:
-
Provides a way for the SDM to attach to this program.