Antarmuka IMXF

Semua transportasi MIDI di port DirectMusic dan driver miniport dilakukan menggunakan antarmuka yang sama: IMXF.

IMXF adalah antarmuka COM untuk filter transformasi DirectMusic MIDI. Driver miniport, pengurut, dan entitas lain dalam driver port yang menangani data MIDI menggunakan IMXF sebagai antarmuka COM umum mereka. Ketika driver miniport mengimplementasikan antarmuka ini, driver dapat berpartisipasi dalam transportasi MIDI. IPortDMus, yang berada di PortCls, mengelola IMXF. Antarmuka dari perangkat pengambilan untuk menangkap sink juga merupakan antarmuka IMXF .

Data MIDI diangkut antara mode pengguna dan mode kernel dalam buffer data bertanda waktu yang dikemas. Driver port kernel memecah buffer ini menjadi peristiwa individual (lihat DMUS_KERNEL_EVENT). Sequencer MIDI resolusi tinggi meneruskan peristiwa ini ke driver miniport ketika waktu pemicu terjadi.

Di sisi input, driver port kernel mengekstrak pesan input individual dari driver miniport dan membangun buffer kemasan untuk diteruskan ke mode pengguna. Dengan demikian, model transportasi data untuk driver miniport DirectMusic terdiri dari IMXF::P utMessage dan IAllocatorMXF::GetMessage.

Antarmuka IMXF mendukung metode berikut:

IMXF::ConnectOutput

IMXF::D isconnectOutput

IMXF::P utMessage

IMXF::SetState

Antarmuka IAllocatorMXF memperluas IMXF dengan menambahkan metode berikut:

IAllocatorMXF::GetMessage

IAllocatorMXF::GetBufferSize

IAllocatorMXF::GetBuffer

IAllocatorMXF::P utBuffer

Untuk informasi selengkapnya tentang penggunaan antarmuka ini, lihat Alokator.