Partager via


IMXF Interfaces

Tout le transport MIDI dans le port DirectMusic et le pilote miniport est effectué à l’aide de la même interface : IMXF.

IMXF est l’interface COM pour un filtre de transformation MIDI DirectMusic. Le pilote miniport, le séquenceur et d’autres entités du pilote de port qui gèrent les données MIDI utilisent IMXF comme interface COM commune. Lorsque le pilote miniport implémente cette interface, il peut participer au transport MIDI. IPortDMus, qui réside dans PortCls, gère IMXF. L’interface entre le périphérique de capture et le récepteur de capture est également une interface IMXF .

Les données MIDI sont transportées entre le mode utilisateur et le mode noyau dans des mémoires tampons de données horodatées packées. Le pilote de port du noyau décompose ces mémoires tampons en événements individuels (voir DMUS_KERNEL_EVENT). Le séquenceur MIDI haute résolution transmet ces événements au pilote miniport lorsque l’heure de déclenchement se produit.

Côté entrée, le pilote de port du noyau extrait les messages d’entrée individuels du pilote miniport et génère des mémoires tampons empaquetées pour passer en mode utilisateur. Par conséquent, le modèle de transport de données pour les pilotes de miniport DirectMusic se compose d’IMXF::P utMessage et IAllocatorMXF::GetMessage.

L’interface IMXF prend en charge les méthodes suivantes :

IMXF::ConnectOutput

IMXF::D isconnectOutput

IMXF::P utMessage

IMXF::SetState

L’interface IAllocatorMXF étend IMXF en ajoutant les méthodes suivantes :

IAllocatorMXF::GetMessage

IAllocatorMXF::GetBufferSize

IAllocatorMXF::GetBuffer

IAllocatorMXF::P utBuffer

Pour plus d’informations sur l’utilisation de ces interfaces, consultez Allocator.