[This is preliminary documentation and subject to change.]
This sample is a DMusic UART miniport driver, which provides an interface to the MPU-401 chip.
The DMusic (DMUS) port driver, which is built into PortCls.sys, insulates this miniport and connects it to the rest of the system. The sample handles one input stream visible to either DirectMusic or midiIn APIs, one output stream visible to midiOut APIs, and multiple output streams visible to DirectMusic APIs. It compiles in the 64-bit environment and is compatible with both Alpha and x86 platforms.
Plug and Play and Power Management are handled automatically on the miniport's behalf by PortCls.
Type build in the \\Ntddk\Src\Wdm\Audio\Miniport\dmusuart directory. A successful build produces dmusuart.lib, which can be linked into an adapter driver.
This exact miniport is already included in PortCls. We have provided the source code as a starting point for those that need to write simple DMusic drivers (for more complex DMusic devices, including those that have DLS functionality, please instead reference the DMusic kernel-mode software synth sample). This miniport interfaces to the port driver of type DMUS. There is also an older port, type MIDI, that is present in PortCls. Unlike the DMUS port, the MIDI port is available in Windows 98. 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 can be visible to the older MIDI APIs if the legacy pin descriptor is included. In short, DirectMusic miniports have the benefits of both backward compatibility and advanced functionality.
Please refer to the SB16 sample to learn how to include and use the built-in miniport.
DirectMusic kernel support is available in Windows 98SE, Windows 2000 and later.
File Descriptionminiport.cpp Miniport driver implementation mpu.cpp MPU device-specific implementation private.h Interface for the CPP files sources Sources for build
© 1999-2000 Microsoft Corporation