Driver de Porta MIDI

O driver de porta MIDI gerencia um sintetizador MIDI ou um dispositivo de captura. O driver do adaptador fornece um driver de miniporto MIDI correspondente que se associa ao objeto de driver de porta MIDI para formar um filtro MIDI (consulte FILTROs MIDI e DirectMusic) que podem capturar ou renderizar um fluxo MIDI.

O driver de porta MIDI expõe uma interface IPortMidi ao driver de miniport. IPortMidi herda os métodos na interface base IPort. IPortMidi fornece os seguintes métodos adicionais:

IPortMidi::Notify

Notifica o driver de porta de que o sintetizador midi ou dispositivo de captura avançou para uma nova posição no fluxo MIDI. IPortMidi::RegisterServiceGroup

Registra um objeto de grupo de serviços com o driver de porta. Um grupo de serviços contém uma lista de uma ou mais rotinas de serviço que devem ser chamadas quando o driver de miniporto chama Notify; para obter mais informações, consulte Coletor de Serviço e Objetos do Grupo de Serviços.

Os objetos midi port e miniport driver se comunicam entre si por meio de suas respectivas interfaces IPortMidi e IMiniportMidi . O driver de miniporto usa a interface IPortMidi do driver de porta para notificar o driver de porta sobre interrupções de hardware. Além disso, o driver de porta se comunica com os objetos de fluxo do driver de miniport por meio de suas interfaces IMiniportMidiStream .

No Windows XP e posteriores, as interfaces IPortMidi e IPortDMus são implementadas em um único módulo de driver interno. Essa consolidação é facilitada pela similaridade dessas duas interfaces. Por exemplo, os mesmos métodos são definidos para ambas as interfaces. Os aplicativos gravados para versões anteriores do Windows não devem ver nenhuma alteração no comportamento das interfaces IPortMidi e IPortDMus resultantes da consolidação dos drivers de porta MIDI e DMus.