[This is preliminary documentation and subject to change.]
This sample is a MIDI FM miniport driver. This sample provides an interface to a device that implements OPL3-style FM synthesis. The MIDI port driver serves as a wrapper for this miniport driver. Because the sample is a synthesizer, it is for output only. It compiles in the 64-bit environment and is compatible with Alpha and x86 platforms.
Because the sample is a PortCls client, PortCls handles Plug and Play. Power Management is also supported.
There are two GUIDs with which an adapter can instantiate this miniport. The first is the normal mode, used by a vast majority of clients. However, if the audio device does not provide an analog volume control after the FM synth (such as the WSS device), then the second GUID, which implements an FM synth with a built-in volume control, can be used.
Type build in the \\Ntddk\Src\Wdm\Audio\Miniport\Fmsynth directory. A successful build produces Fmsynth.lib, which is a .lib file used in building the audio adapter samples.
This exact miniport is already included in PortCls. We have provided the source code as a starting point for those that need to augment it, as well as those that need to create completely new miniports. This miniport interfaces to the port driver of type MIDI. A new port, type DMUS, was introduced in Microsoft® Windows 98® Second Edition (SE) and Microsoft Windows 2000. The DMUS port provides higher functionality than the MIDI port, so if you are creating your own miniport, consider interfacing to DMUS instead of MIDI. The advantage of DMUS miniport drivers is that they are visible to DirectMusic APIs, unlike MIDI miniport drivers. Additionally, DMUS miniports are still visible to the older MIDI APIs. In short, DirectMusic miniports have the benefits of both backward compatibility and advanced functionality.
Please refer to the SB16 sample to learn how to use the built-in miniport.
DirectMusic kernel support is not available in Windows 98, only in Windows 98SE and Windows 2000 and later.
File DescriptionMiniport.cpp Miniport driver implementation for FMSynth Sources Sources for build
© 1999-2000 Microsoft Corporation