Condividi tramite


MIDI Miniport Driver

Un driver miniport MIDI gestisce le funzioni dipendenti dall'hardware di dispositivi MIDI semplici che non dispongono di funzionalità avanzate, ad esempio la sequenziazione hardware e i suoni scaricabili (DLS). Il driver di porta MIDI gestisce la tempistica del recapito dei messaggi MIDI per i sintetizzatori. Il driver miniport MIDI è responsabile solo del trasporto dei messaggi MIDI al sintetizzatore in risposta alle richieste dal driver di porta. I dispositivi con funzionalità MIDI avanzate devono usare invece un driver miniport DMus .

Un driver miniport MIDI deve implementare due interfacce:

  • L'interfaccia miniport inizializza l'oggetto miniport e crea flussi MIDI.

  • L'interfaccia di flusso gestisce un flusso MIDI ed espone la maggior parte delle funzionalità del driver miniport.

L'interfaccia miniport, IMiniportMidi, eredita i metodi nell'interfaccia IMiniport . IMiniportMidi fornisce i metodi aggiuntivi seguenti:

IMiniportMidi::Init

Inizializza l'oggetto miniport.

IMiniportMidi::NewStream

Crea un nuovo oggetto di flusso.

IMiniportMidi::Service

Notifica al driver miniport di una richiesta di servizio.

L'interfaccia di flusso IMiniportMidiStream eredita i metodi nell'interfaccia IUnknown . IMiniportMidiStream fornisce i metodi aggiuntivi seguenti:

IMiniportMidiStream::Read

Legge i dati di input da un dispositivo di acquisizione MIDI.

IMiniportMidiStream::SetFormat

Imposta il formato dati del flusso MIDI.

IMiniportMidiStream::SetState

Imposta lo stato del flusso MIDI.

IMiniportMidiStream::Write

Scrive i dati di output in un sintetizzatore MIDI.

Il driver della porta MIDI gestisce tutti i problemi di tempo in entrambe le direzioni e si basa sul driver miniport per spostare tempestivamente i dati e disattivare la scheda in risposta alle chiamate del driver di porta ai metodi di lettura e scrittura IMiniportMidiStream .

PortCls contiene i driver miniport MIDI predefiniti per i dispositivi MIDI con funzioni synth FM e UART. Per altre informazioni, vedere PcNewMiniport.