The IPortMidi interface is the MIDI interface that is exposed by the MIDI port driver to the adapter driver that implements the MIDI miniport object. It is, effectively, the port driver's lower-edge interface and provides a method for the miniport driver's interrupt-service routine to notify the port driver that data is available for reading. An adapter driver creates an IPortMidi object by calling PcNewPort and specifying REFIID IID_IPortMidi. IPortMidi inherits from the IPort interface.
An adapter driver forms a miniport/port driver pair by binding an IMiniportMidi object to an IPortMidi object. The PortCls system driver registers this pair with the system as a MIDI filter (see MIDI and DirectMusic Filters).
In addition to the methods that IPortMidi inherits from the IPort interface, IPortMidi supports the following methods: