Controlador MIDI Miniport
Un controlador midi miniport administra las funciones dependientes del hardware de dispositivos MIDI simples que carecen de funcionalidades avanzadas, como secuenciación de hardware y sonidos descargables (DLS). El controlador de puerto MIDI controla el tiempo de entrega de mensajes MIDI a sintetizadores. El controlador midi miniport es responsable únicamente de transportar los mensajes MIDI al sintetizador en respuesta a las solicitudes del controlador de puerto. En su lugar, los dispositivos con funcionalidades MIDI avanzadas deben usar un controlador de miniporte DMus .
Un controlador midi miniport debe implementar dos interfaces:
La interfaz de minipuerto inicializa el objeto miniport y crea secuencias MIDI.
La interfaz de flujo administra un flujo MIDI y expone la mayor parte de la funcionalidad del controlador de miniporte.
La interfaz de minipuerto, IMiniportMidi, hereda los métodos de la interfaz IMiniport . IMiniportMidi proporciona los siguientes métodos adicionales:
Inicializa el objeto miniporte.
Crea un nuevo objeto de secuencia.
Notifica al controlador de miniporte de una solicitud de servicio.
La interfaz de secuencia, IMiniportMidiStream, hereda los métodos de la interfaz IUnknown . IMiniportMidiStream proporciona los siguientes métodos adicionales:
Lee los datos de entrada de un dispositivo de captura MIDI.
IMiniportMidiStream::SetFormat
Establece el formato de datos de la secuencia MIDI.
Establece el estado de la secuencia MIDI.
Escribe datos de salida en un sintetizador MIDI.
El controlador de puerto MIDI controla todos los problemas de tiempo en ambas direcciones y se basa en el controlador de minipuerto para mover rápidamente los datos activados y apagados del adaptador en respuesta a las llamadas del controlador de puerto a los métodos de lectura y escritura de IMiniportMidiStream .
PortCls contiene controladores de miniport MIDI integrados para dispositivos MIDI que tienen funciones de synth FM y UART. Para obtener más información, vea PcNewMiniport.