Interfacce IMXF

Tutto il trasporto MIDI nella porta DirectMusic e il driver miniport viene eseguito utilizzando la stessa interfaccia: IMXF.

IMXF è l'interfaccia COM per un filtro di trasformazione MIDI DirectMusic. Il driver miniport, il sequencer e altre entità nel driver di porta che gestiscono i dati MIDI usano IMXF come interfaccia COM comune. Quando il driver miniport implementa questa interfaccia, può partecipare al trasporto MIDI. IPortDMus, che risiede in PortCls, gestisce IMXF. L'interfaccia del dispositivo di acquisizione per acquisire sink è anche un'interfaccia IMXF .

I dati MIDI vengono trasportati tra la modalità utente e la modalità kernel nei buffer dei dati con timestamp compressi. Il driver della porta kernel suddivide questi buffer in singoli eventi (vedere DMUS_KERNEL_EVENT). Il sequencer MIDI ad alta risoluzione passa questi eventi al driver miniport quando si verifica l'ora del trigger.

Sul lato input, il driver della porta kernel estrae singoli messaggi di input dal driver miniport e compila buffer compressi per passare alla modalità utente. Di conseguenza, il modello di trasporto dati per i driver miniport DirectMusic è costituito da IMXF::P utMessage e IAllocatorMXF::GetMessage.

L'interfaccia IMXF supporta i metodi seguenti:

IMXF::ConnectOutput

IMXF::D isconnectOutput

IMXF::P utMessage

IMXF::SetState

L'interfaccia IAllocatorMXF estende IMXF aggiungendo i metodi seguenti:

IAllocatorMXF::GetMessage

IAllocatorMXF::GetBufferSize

IAllocatorMXF::GetBuffer

IAllocatorMXF::P utBuffer

Per altre informazioni sull'uso di queste interfacce, vedere Allocator.