MIDI 微型端口驱动程序管理简单 MIDI 设备的硬件依赖功能,这些设备缺乏硬件排序和可下载声音(DLS)等高级功能。 MIDI 端口驱动程序负责将 MIDI 消息传送到合成器的时间管理。 MIDI 微型端口驱动程序仅负责将 MIDI 消息传输到合成器,以响应来自端口驱动程序的请求。 具有高级 MIDI 功能的设备应改用 DMus 微型端口驱动程序 。
MIDI 微型端口驱动程序应实现两个接口:
微型端口接口初始化微型端口对象并创建 MIDI 流。
流接口管理 MIDI 流,并公开大多数微型端口驱动程序的功能。
微型端口接口 IMiniportMidi 继承 IMiniport 接口中的方法。 IMiniportMidi 提供以下其他方法:
初始化微型端口对象。
创建新的流对象。
通知微型端口驱动程序服务请求。
流接口 IMiniportMidiStream 继承 IUnknown 接口中的方法。 IMiniportMidiStream 提供以下其他方法:
从 MIDI 捕获设备读取输入数据。
IMiniportMidiStream::SetFormat
设置 MIDI 流的数据格式。
设置 MIDI 流的状态。
将输出数据写入 MIDI 合成器。
MIDI 端口驱动程序处理双向的所有计时问题,并依赖微型端口驱动程序在响应端口驱动程序对 IMiniportMidiStream 读取和写入方法的调用时及时打开和关闭适配器。
PortCls 包含适用于具有 FM 合成器和 UART 功能的 MIDI 设备的内置 MIDI 微型端口驱动程序。 有关详细信息,请参阅 PcNewMiniport。