Driver de Miniporto MIDI
Um driver de miniporto MIDI gerencia as funções dependentes de hardware de dispositivos MIDI simples que não têm recursos avançados, como sequenciamento de hardware e DLS (sons para download). O driver de porta MIDI lida com o tempo de entrega de mensagens MIDI para sintetizadores. O driver de miniporto MIDI é responsável apenas por transportar as mensagens MIDI para o sintetizador em resposta às solicitações do driver de porta. Em vez disso, os dispositivos com funcionalidades avançadas de MIDI devem usar um driver de miniporto DMus .
Um driver de miniporta MIDI deve implementar duas interfaces:
A interface miniport inicializa o objeto miniport e cria fluxos MIDI.
A interface de fluxo gerencia um fluxo MIDI e expõe a maior parte da funcionalidade do driver de miniport.
A interface de miniport, IMiniportMidi, herda os métodos na interface IMiniport . IMiniportMidi fornece os seguintes métodos adicionais:
Inicializa o objeto miniport.
Cria um novo objeto de fluxo.
Notifica o driver de miniporto de uma solicitação de serviço.
A interface de fluxo, IMiniportMidiStream, herda os métodos na interface IUnknown . IMiniportMidiStream fornece os seguintes métodos adicionais:
Lê dados de entrada de um dispositivo de captura MIDI.
IMiniportMidiStream::SetFormat
Define o formato de dados do fluxo MIDI.
Define o estado do fluxo MIDI.
Grava dados de saída em um sintetizador MIDI.
O driver de porta MIDI lida com todos os problemas de tempo em ambas as direções e depende do driver de miniporta para mover imediatamente os dados para dentro e para fora do adaptador em resposta às chamadas do driver de porta para os métodos de leitura e gravação IMiniportMidiStream .
PortCls contém drivers de miniporta MIDI internos para dispositivos MIDI que têm funções Sintetizador FM e UART. Para obter mais informações, consulte PcNewMiniport.