IMXF-Schnittstellen

Der gesamte MIDI-Transport im DirectMusic-Port und Miniporttreiber erfolgt über die gleiche Schnittstelle: IMXF.

IMXF ist die COM-Schnittstelle für einen DirectMusic MIDI-Transformationsfilter. Der Miniporttreiber, der Sequencer und andere Entitäten im Porttreiber, die MIDI-Daten verarbeiten, verwenden IMXF als gemeinsame COM-Schnittstelle. Wenn der Miniporttreiber diese Schnittstelle implementiert, kann er am MIDI-Transport teilnehmen. IPortDMus, das sich in PortCls befindet, verwaltet IMXF. Die Schnittstelle vom Erfassungsgerät zur Erfassungssenke ist ebenfalls eine IMXF-Schnittstelle .

MIDI-Daten werden zwischen Benutzermodus und Kernelmodus in Puffern mit gepackten Zeitstempeldaten transportiert. Der Kernelporttreiber unterbricht diese Puffer in einzelne Ereignisse (siehe DMUS_KERNEL_EVENT). Der hochauflösende MIDI-Sequenzer übergibt diese Ereignisse an den Miniporttreiber, wenn die Triggerzeit eintritt.

Auf der Eingabeseite extrahiert der Kernelporttreiber einzelne Eingabemeldungen aus dem Miniporttreiber und erstellt gepackte Puffer, die an den Benutzermodus übergeben werden. Entsprechend besteht das Datentransportmodell für DirectMusic-Miniporttreiber aus IMXF::P utMessage und IAllocatorMXF::GetMessage.

Die IMXF-Schnittstelle unterstützt die folgenden Methoden:

IMXF::ConnectOutput

IMXF::D isconnectOutput

IMXF::P utMessage

IMXF::SetState

Die IAllocatorMXF-Schnittstelle erweitert IMXF durch Hinzufügen der folgenden Methoden:

IAllocatorMXF::GetMessage

IAllocatorMXF::GetBufferSize

IAllocatorMXF::GetBuffer

IAllocatorMXF::P utBuffer

Weitere Informationen zur Verwendung dieser Schnittstellen finden Sie unter Allocator.