This documentation is archived and is not being maintained.

Required Port Supplier Interfaces 

A port supplier must implement this interface:

Because a port supplier supplies ports, it must also implement them, and so must implement the following interfaces:

  • IDebugPort2

    Describes the port and can enumerate all processes running on the port.

  • IDebugPortEx2

    Provides for launching and terminating processes on the port.

  • IDebugPortNotify2

    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.


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. A port should always send these events synchronously in response to these calls, because the session debug manager (SDM) responds to the program create event by attaching a debug engine to the newly created program.


Failure to send these events synchronously can result in a system lockup.

Because a port can launch and terminate both physical processes and logical programs, these interfaces must also be implemented by the debug engine:

See Also