IMXF 接口

DirectMusic 端口和微型端口驱动程序中的所有 MIDI 传输都使用同一接口执行:IMXF

IMXF 是 DirectMusic MIDI 转换筛选器的 COM 接口。 端口驱动程序中处理 MIDI 数据的微型端口驱动程序、序列器和其他实体使用 IMXF 作为其通用 COM 接口。 微型端口驱动程序实现此接口时,它可以参与 MIDI 传输。 驻留在 PortCls 中的 IPortDMus 会管理 IMXF。 从捕获设备到捕获接收器的接口也是 IMXF 接口。

MIDI 数据在打包时间戳数据的缓冲区中在用户模式和内核模式之间传输。 内核端口驱动程序将这些缓冲区分解为个别事件(请参阅 DMUS_KERNEL_EVENT)。 当达到触发时间时,高分辨率 MIDI 序列器会将这些事件传递给微型端口驱动程序。

在输入端,内核端口驱动程序从微型端口驱动程序中提取个别输入消息,并生成打包缓冲区以传递到用户模式。 因此,DirectMusic 微型端口驱动程序的数据传输模型由 IMXF::PutMessageIAllocatorMXF::GetMessage 组成。

IMXF 接口支持以下方法:

IMXF::ConnectOutput

IMXF::DisconnectOutput

IMXF::PutMessage

IMXF::SetState

IAllocatorMXF 接口通过添加以下方法扩展 IMXF

IAllocatorMXF::GetMessage

IAllocatorMXF::GetBufferSize

IAllocatorMXF::GetBuffer

IAllocatorMXF::PutBuffer

有关使用这些接口的详细信息,请参阅分配器