Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:st1="urn:schemas-microsoft-com:office:smarttags" xmlns="http://www.w3.org/TR/REC-html40">
<head> <meta http-equiv=Content-Type content="text/html; charset=us-ascii"> <meta name=ProgId content=Word.Document> <meta name=Generator content="Microsoft Word 10"> <meta name=Originator content="Microsoft Word 10"> <link rel=File-List href="mpu401_files/filelist.xml"> <title>MPU-401 </title> <o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags" name="place"/> <!--[if gte mso 9]><xml>
<w:WordDocument> <w:SpellingState>Clean</w:SpellingState> <w:GrammarState>Clean</w:GrammarState> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if !mso]><object
classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object> <style> st1\:*{behavior:url(#ieooui) } </style> <![endif]--> <style> <!--
/* Font Definitions */ @font-face {font-family:Verdana; panose-1:2 11 6 4 3 5 4 4 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:536871559 0 0 0 415 0;} @font-face {font-family:"MS Sans Serif"; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-alt:"Times New Roman"; mso-font-charset:0; mso-generic-font-family:roman; mso-font-format:other; mso-font-pitch:auto; mso-font-signature:0 0 0 0 0 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} a:link, span.MsoHyperlink {color:blue; text-decoration:underline; text-underline:single;} p {font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} pre {margin-top:0in; margin-bottom:0in; margin-bottom:.0001pt; font-size:10.0pt; font-family:"Courier New"; mso-fareast-font-family:"Times New Roman";} span.SpellE {mso-style-name:""; mso-spl-e:yes;} @page Section1 {size:8.5in 11.0in; margin:1.0in 1.25in 1.0in 1.25in; mso-header-margin:.5in; mso-footer-margin:.5in; mso-paper-source:0;} div.Section1 {page:Section1;} --> </style> <!--[if gte mso 10]>
<style> /* Style Definitions */ table.MsoNormalTable {mso-style-name:"Table Normal"; mso-tstyle-rowband-size:0; mso-tstyle-colband-size:0; mso-style-noshow:yes; mso-style-parent:""; mso-padding-alt:0in 5.4pt 0in 5.4pt; mso-para-margin:0in; mso-para-margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:10.0pt; font-family:"Times New Roman";} </style> <![endif]--> </head>
<body lang=EN-US link=blue vlink=blue style='tab-interval:.5in'>
<div class=Section1>
<h2><span style='font-family:Verdana'>MPU-401 <o:p></o:p></span></h2>
<p><span style='font-size:10.0pt;font-family:Arial;color:red'>[This is preliminary documentation and subject to change.]</span><span style='font-size: 10.0pt;font-family:Verdana'><o:p></o:p></span></p>
<h3><span style='font-family:Verdana'>SUMMARY<o:p></o:p></span></h3>
<p><span style='font-size:10.0pt;font-family:Verdana'>This WDM driver implements standard functionality for an MPU-401 device. The driver is extremely small because it leverages code built into <span class=SpellE>PortCls</span>. It simply specifies and connects the appropriate port and miniport, which already exist in <span class=SpellE>PortCls</span>. The Msmpu401 driver is used by audio devices when the MPU-401 hardware is on a separate <span class=SpellE>devnode</span> from other audio functionality. If the MPU-401 shares a <span class=SpellE>devnode</span> with other <span class=SpellE>subdevices</span> (such as PCM wave, in the Sb16 device), the built-in <span class=SpellE>DMusUART</span> miniport can still be used, but an adapter that handles multiple <span class=SpellE>subdevices</span> must be written. The Sb16 sample illustrates how this can be done. <o:p></o:p></span></p>
<p><span style='font-size:10.0pt;font-family:Verdana'>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 <span class=SpellE>Dmusuart</span>, <span class=SpellE>Ddksynth</span>, <span class=SpellE>Fmsynth</span> and <span class=SpellE>Uart</span> samples show how to build <span class=SpellE>miniports</span> that interface to the <span class=SpellE>DMus</span> and </span><st1:place><span style='font-size:10.0pt; font-family:Verdana'>MIDI</span></st1:place><span style='font-size:10.0pt; font-family:Verdana'> ports; Sb16 and Ac97 include custom wave <span class=SpellE>miniports</span>. Additionally, the <span class=SpellE>Ddksynth</span>, 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 <span class=SpellE>PortCls</span> will do for you. <o:p></o:p></span></p>
<p><span style='font-size:10.0pt;font-family:Verdana'>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 <span class=SpellE>PortCls</span> client, it is compliant with Plug and Play and Power Management. There are no known issues with this driver.<o:p></o:p></span></p>
<h3><span style='font-family:Verdana'>BUILDING THE SAMPLE<o:p></o:p></span></h3>
<p><span style='font-size:10.0pt;font-family:Verdana'>To build this sample, enter the free or checked build environment and run <b>build</b> 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:<o:p></o:p></span></p>
<p><span class=SpellE><span style='font-size:10.0pt;font-family:Verdana'>Portcls.lib</span></span><span style='font-size:10.0pt;font-family:Verdana'><br> <span class=SpellE>Libcntpr.lib</span><br> <span class=SpellE>Ksguid.lib</span><br> <span class=SpellE>Stdunk.lib</span><br> <span class=SpellE>Dmusicks.h</span><br> <span class=SpellE>Dmusprop.h</span><br> <span class=SpellE>Dmusbuff.h</span><br> <span class=SpellE>Ks.h</span><br> <span class=SpellE>Ksdebug.h</span><br> <span class=SpellE>Ksmedia.h</span><br> <span class=SpellE>Portcls.h</span><br> <span class=SpellE>Unknown.h</span><br> <span class=SpellE>Wdm.h</span><o:p></o:p></span></p>
<h3><span style='font-family:Verdana'>CODE TOUR<o:p></o:p></span></h3>
<h4><span style='font-family:Verdana'>File Manifest<o:p></o:p></span></h4>
<pre><u>File<span style='mso-tab-count:2'> </span>Description<o:p></o:p></u></pre><pre><o:p> </o:p></pre><pre><span class=SpellE>Adapter.cpp</span><span style='mso-tab-count:1'> </span>Source file </pre><pre><span class=SpellE>Makefile</span><span style='mso-tab-count:1'> </span>Standard Windows NT <span class=SpellE>makefile</span></pre><pre>Mpu401.rc<span style='mso-tab-count: 1'> </span>Resource file </pre><pre>Sources<span style='mso-tab-count:2'> </span>Dependency and include file</pre><pre><o:p> </o:p></pre>
<p align=center style='text-align:center;tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span style='font-size:10.0pt;font-family:"Courier New"'><a href="#top"><span style='font-family:Verdana'>Top of page</span></a></span><span style='font-size:10.0pt;font-family:Verdana;mso-bidi-font-family:"Courier New"'> <o:p></o:p></span></p>
<pre><o:p> </o:p></pre>
<table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=624 style='width:6.5in;mso-cellspacing:0in'> <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes;height:1.5pt'> <td style='background:aqua;padding:.75pt .75pt .75pt .75pt;height:1.5pt'> <p class=MsoNormal><o:p> </o:p></p> </td> </tr> </table>
<pre><o:p> </o:p></pre><pre><o:p> </o:p></pre>
<p style='tab-stops:45.8pt 91.6pt 137.4pt 183.2pt 229.0pt 274.8pt 320.6pt 366.4pt 412.2pt 458.0pt 503.8pt 549.6pt 595.4pt 641.2pt 687.0pt 732.8pt'><span style='font-size:7.5pt;font-family:"MS Sans Serif";mso-bidi-font-family:"Courier New"'>© Microsoft Corporation 1999</span><span style='font-size:10.0pt;font-family: Verdana;mso-bidi-font-family:"Courier New"'> <o:p></o:p></span></p>
</div>
</body>
</html>
|