DMus Miniport Driver
Driver miniport DMus mengelola fungsi yang bergantung pada perangkat keras dari perangkat MIDI tingkat lanjut. Perangkat ini mendukung kemampuan DirectMusic seperti pengaturan waktu pengurut presisi, suara yang dapat diunduh (DLS), dan grup saluran. Driver miniport DMus dapat mencapai performa tinggi dengan perangkat seperti MPU-401. Waktu dapat ditangani oleh driver miniport atau driver port, tergantung pada kemampuan perangkat keras. Driver miniport DMus juga dapat mendukung synthesizer perangkat lunak yang menghasilkan aliran output gelombang.
Driver miniport DMus untuk perangkat keras MIDI harus mendukung dua antarmuka:
Antarmuka miniport menginisialisasi objek miniport dan membuat aliran MIDI.
Antarmuka stream mengelola aliran MIDI dan mengekspos sebagian besar fungsionalitas driver miniport.
Antarmuka miniport, IMiniportDMus, mewarisi metode di antarmuka IMiniport . IMiniportDMus menyediakan metode tambahan berikut:
Menginisialisasi objek miniport.
Membuat objek stream baru.
Memberi tahu driver miniport tentang permintaan layanan.
Antarmuka stream, IMXF, mewarisi metode di antarmuka IUnknown . IMXF menyediakan metode tambahan berikut:
Menyambungkan objek aliran ini, yang merupakan sumber data, ke antarmuka IMXF dari objek stream lain, yang merupakan sink data.
Memutuskan sambungan objek aliran ini dari antarmuka IMXF dari objek stream lain yang merupakan sink data.
Meneruskan struktur DMUS_KERNEL_EVENT ke sink data.
Mengatur status aliran.
Selain itu, antarmuka ISynthSinkDMus driver miniport DMus menyediakan fungsionalitas DLS untuk synthesizer perangkat lunak. ISynthSinkDMus mewarisi metode dalam antarmuka dasar IMXF. ISynthSinkDMus menyediakan metode tambahan berikut:
ISynthSinkDMus::RefTimeToSample
Mengonversi waktu referensi menjadi waktu sampel.
Merender data gelombang ke dalam buffer untuk sink gelombang.
ISynthSinkDMus::SampleToRefTime
Mengonversi waktu sampel menjadi waktu referensi.
Menyinkronkan jam sampel ke jam master.
Sink gelombang driver port memanggil ISynthSinkDMus::Render untuk membaca data PCM gelombang yang dihasilkan synthesizer dari aliran input MIDI-nya. Untuk informasi selengkapnya tentang sink gelombang, lihat Wave Sink untuk Kernel-Mode Software Synthesizer.
Driver miniport memanggil antarmuka berikut pada driver port DMus:
PortCls berisi driver miniport DMus bawaan untuk perangkat MIDI dengan fungsi UART. Untuk informasi selengkapnya, lihat PcNewMiniport.
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk