This portion of the design guide contains information necessary to write kernel-mode drivers for DirectMusic®-enabled hardware or software synthesizers (synths). The features described here are optional and can be implemented in addition to the base-level WDM MIDI miniport driver, which supports the native MIDI APIs under Microsoft® Windows® 95/98/Me, Windows NT® 4.0, Windows 2000, and later.
Implementing kernel-mode components entails making additions to the miniport device driver interface (DDI) that allow WDM MIDI drivers to support DirectMusic hardware acceleration. A good design strategy is to begin by implementing a user-mode version of your driver and then converting it to kernel mode (see User Mode Versus Kernel Mode).
If you have not written a user-mode version before doing your kernel-mode implementation, read the user-mode sections of this document to become familiar with the concepts, which apply to kernel mode as well. Kernel-mode discussions build on common concepts that are introduced in the user-mode examples.
The next two sections give a brief background of WDM kernel streaming and an overview of synthesizer miniport-driver implementations: