Compartilhar via


IMXF Interfaces

Todo o transporte MIDI na porta DirectMusic e no driver de miniporto é realizado usando a mesma interface: IMXF.

IMXF é a interface COM para um filtro de transformação MIDI DirectMusic. O driver de miniporto, o sequenciador e outras entidades no driver de porta que lidam com dados MIDI usam IMXF como interface COM comum. Quando o driver de miniporto implementa essa interface, ele pode participar do transporte MIDI. IPortDMus, que reside em PortCls, gerencia o IMXF. A interface do dispositivo de captura para capturar o coletor também é uma interface IMXF .

Os dados MIDI são transportados entre o modo de usuário e o modo kernel em buffers de dados com carimbo de data/hora empacotados. O driver de porta do kernel divide esses buffers em eventos individuais (consulte DMUS_KERNEL_EVENT). O sequenciador MIDI de alta resolução passa esses eventos para o driver de miniporto quando o tempo de gatilho ocorre.

No lado de entrada, o driver da porta do kernel extrai mensagens de entrada individuais do driver de miniport e cria buffers empacotados para passar para o modo de usuário. Assim, o modelo de transporte de dados para drivers de miniport directmusic consiste em IMXF::P utMessage e IAllocatorMXF::GetMessage.

A interface IMXF dá suporte aos seguintes métodos:

IMXF::ConnectOutput

IMXF::D isconnectOutput

IMXF::P utMessage

IMXF::SetState

A interface IAllocatorMXF estende o IMXF adicionando os seguintes métodos:

IAllocatorMXF::GetMessage

IAllocatorMXF::GetBufferSize

IAllocatorMXF::GetBuffer

IAllocatorMXF::P utBuffer

Para obter mais informações sobre o uso dessas interfaces, consulte Allocator.