MPU-401

[This is preliminary documentation and subject to change.]

SUMMARY

This WDM driver implements standard functionality for an MPU-401 device. The driver is extremely small because it leverages code built into PortCls. It simply specifies and connects the appropriate port and miniport, which already exist in PortCls. The Msmpu401 driver is used by audio devices when the MPU-401 hardware is on a separate devnode from other audio functionality. If the MPU-401 shares a devnode with other subdevices (such as PCM wave, in the Sb16 device), the built-in DMusUART miniport can still be used, but an adapter that handles multiple subdevices must be written. The Sb16 sample illustrates how this can be done.

If the built-in miniport is insufficient, a custom miniport can be built to handle any additional functionality. There are a number of miniport samples in the DDK: the Dmusuart, Ddksynth, Fmsynth and Uart samples show how to build miniports that interface to the DMus and MIDI ports; Sb16 and Ac97 include custom wave miniports. Additionally, the Ddksynth, Sb16 and Ac97 samples contain the necessary code to connect the custom miniport into the driver. If you choose to pursue this, try to follow the sample as closely as possible. You will prevent unnecessary complexity by taking advantage of what PortCls will do for you.

This sample is compliant with x86, Alpha, iA64, and AXP64 platforms. This driver builds properly with Microsoft® Visual C® 6.0. Since the driver is a PortCls client, it is compliant with Plug and Play and Power Management. There are no known issues with this driver.

BUILDING THE SAMPLE

To build this sample, enter the free or checked build environment and run build from this directory. Once built, this sample produces msmpu401.sys. In addition to the files in the directory, the following files are needed to build this sample:

Portcls.lib
Libcntpr.lib
Ksguid.lib
Stdunk.lib
Dmusicks.h
Dmusprop.h
Dmusbuff.h
Ks.h
Ksdebug.h
Ksmedia.h
Portcls.h
Unknown.h
Wdm.h

CODE TOUR

File Manifest

File           Description
 
Adapter.cpp    Source file 
Makefile       Standard Windows NT makefile
Mpu401.rc      Resource file 
Sources        Dependency and include file
 

Top of page

 

 

 
 

© Microsoft Corporation 1999