MIDI-Porttreiber

Der MIDI-Porttreiber verwaltet einen MIDI-Synthesizer oder ein Aufnahmegerät. Der Adaptertreiber stellt einen entsprechenden MIDI-Miniporttreiber bereit, der an das MIDI-Porttreiberobjekt gebunden wird, um einen MIDI-Filter (siehe MIDI- und DirectMusic-Filter) zu bilden, der einen MIDI-Stream erfassen oder rendern kann.

Der MIDI-Porttreiber macht eine IPortMidi-Schnittstelle für den Miniporttreiber verfügbar. IPortMidi erbt die Methoden in der Basisschnittstelle IPort. IPortMidi stellt die folgenden zusätzlichen Methoden bereit:

IPortMidi::Notify

Benachrichtigt den Porttreiber, dass der MIDI-Synthesizer oder das Aufnahmegerät auf eine neue Position im MIDI-Stream vorgerückt ist. IPortMidi::RegisterServiceGroup

Registriert ein Dienstgruppenobjekt beim Porttreiber. Eine Dienstgruppe enthält eine Liste einer oder mehrerer Dienstroutinen, die aufgerufen werden sollen, wenn der Miniporttreiber Notify aufruft. Weitere Informationen finden Sie unter Dienstsenke und Dienstgruppenobjekte.

Die MIDI-Port- und Miniporttreiberobjekte kommunizieren miteinander über ihre jeweiligen IPortMidi - und IMiniportMidi-Schnittstellen . Der Miniporttreiber verwendet die IPortMidi-Schnittstelle des Porttreibers, um den Porttreiber über Hardwareunterbrechungen zu benachrichtigen. Darüber hinaus kommuniziert der Porttreiber über die IMiniportMidiStream-Schnittstellen mit den Streamobjekten des Miniporttreibers.

In Windows XP und höher sind die IPortMidi - und IPortDMus-Schnittstellen beide in einem einzelnen internen Treibermodul implementiert. Diese Konsolidierung wird durch die Ähnlichkeit dieser beiden Schnittstellen erleichtert. Beispielsweise werden die gleichen Methoden für beide Schnittstellen definiert. Anwendungen, die für frühere Versionen von Windows geschrieben wurden, sollten keine Änderungen am Verhalten der IPortMidi - und IPortDMus-Schnittstellen aufgrund der Konsolidierung der MIDI- und DMus-Porttreiber feststellen.