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:

IMiniportMidi::Init

Inicializa o objeto miniport.

IMiniportMidi::NewStream

Cria um novo objeto de fluxo.

IMiniportMidi::Service

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:

IMiniportMidiStream::Read

Lê dados de entrada de um dispositivo de captura MIDI.

IMiniportMidiStream::SetFormat

Define o formato de dados do fluxo MIDI.

IMiniportMidiStream::SetState

Define o estado do fluxo MIDI.

IMiniportMidiStream::Write

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.