Partilhar via


Driver de Porta Mini MIDI

Um driver de miniporta MIDI gerencia as funções dependentes de hardware de dispositivos MIDI simples que não possuem recursos avançados, como sequenciamento de hardware e sons para download (DLS). O driver de porta MIDI lida com o tempo de entrega de mensagens MIDI para sintetizadores. O driver de miniporta MIDI é responsável apenas por transportar as mensagens MIDI para o sintetizador em resposta a solicitações do driver de porta. Dispositivos com capacidades MIDI avançadas devem usar um driver DMus miniport em vez disso.

Um driver de miniporta MIDI deve implementar duas interfaces:

  • A interface de miniporta inicializa o objeto de miniporta e cria fluxos MIDI.

  • A interface de fluxo gerencia um fluxo MIDI e expõe a maioria das funcionalidades do driver de miniporta.

A interface de miniporta, 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 stream.

IMiniportMidi::Service

Notifica o controlador de miniporta 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::Ler

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::Escrever

Grava dados de saída em um sintetizador MIDI.

O driver de porta MIDI lida com todos os problemas de temporização em ambas as direções e confia no driver de miniporta para mover prontamente 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 integrados para dispositivos MIDI que têm funções de sintetizador FM e UART. Para obter mais informações, consulte PcNewMiniport.