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="http://www.w3.org/TR/REC-html40">
<head> <meta http-equiv=Content-Type content="text/html; charset=windows-1252"> <meta name=ProgId content=FrontPage.Editor.Document> <meta name=Generator content="Microsoft FrontPage 5.0"> <meta name=Originator content="Microsoft Word 10"> <title>AC97</title> <!--[if gte mso 9]><xml>
<w:WordDocument> <w:SpellingState>Clean</w:SpellingState> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![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-charset:0; mso-generic-font-family:swiss; mso-font-format:other; mso-font-pitch:variable; mso-font-signature:3 0 0 0 1 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin-bottom:.0001pt; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman"; margin-left:0in; margin-right:0in; margin-top:0in} a:link, span.MsoHyperlink {color:blue; text-decoration:underline; text-underline:single;} a:visited, span.MsoHyperlinkFollowed {color:blue; text-decoration:underline; text-underline:single;} p {mso-margin-top-alt:auto; margin-right:0in; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:"Times New Roman";} pre {margin:0in; margin-bottom:.0001pt; mso-pagination:widow-orphan; 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; font-size:10.0pt; font-family:"Courier New"; mso-fareast-font-family:"Courier New";} 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'>AC97 WDM Audio Driver Sample<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 sample driver demonstrates the basics of writing a WDM audio driver. The sample driver should work with any AC97 codec connected to an Intel� motherboard with integrated AC97 controller, like the Intel 810 Chipset. The sample driver supports multi channel audio and builds a mixer topology depending on the AC97 codec in the system.<o:p></o:p></span></p>
<p><span style='font-size:10.0pt;font-family:Verdana'>Its functionality may be expanded for non-AC97 design features or to convert the driver to use a different DMA engine. For more information, please see the "Driver Issues" section below. <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 any Windows .NET or Windows XP build environment and run <b>build</b><b style='mso-bidi-font-weight:normal'> �<span class=SpellE>cZ</span></b> from the AC97 directory (parent directory).</span></p>
<p><span style='font-size:10.0pt;font-family:Verdana'>The INF file named �AC97smpl.inf� included in the AC97 subdirectory (parent directory) can be used to install the sample driver after it has been built. Simply copy the INF and the driver binary to a floppy disk and then update the driver for the device with the one from the floppy. Note however, that the INF file tries to install the <span class=SpellE>proppage</span> sample and may want additional binaries. Please refer to the �<span class=SpellE>readme</span>� in the parent directory for more information.<o:p></o:p></span></p>
<p><span style='font-size:10.0pt;font-family:Verdana'>Once the driver has been installed with the INF, the driver may be updated by copying the binary into %SystemRoot%\System32\Drivers on the target machine and rebooting to test the new driver, provided that there are no INF changes.<o:p></o:p></span></p>
<h3><span style='font-family:Verdana'>DRIVER ISSUES<o:p></o:p></span></h3>
<p><span style='font-size:10.0pt;font-family:Verdana'>1. At the time of writing, there is no AC97 implementation available for Alpha or IA64 machines�therefore, the DDK sample source does not install on Alpha or IA64 machines. <o:p></o:p></span></p>
<p><span style='font-size:10.0pt;font-family:Verdana'>2. This driver supports the old Intel 810/820/840 implementation as well as the new Intel 815/820 implementation (82801BA/BAM). This new chipset supports multi channel AC97 <span class=SpellE>codecs</span>, but the sample driver will only run satisfactorily with 100% AC97 compatible <span class=SpellE>codecs</span>. The double data rate playback (96KHz, for example) feature is unsupported by those chipsets and therefore also in the driver. <o:p></o:p></span></p>
<p><span style='font-size:10.0pt;font-family:Verdana'>3. The AC97 low-priority Microphone recording capability is disabled. You can record using Microphone as you would record from any other source (for example, a CD) using the normal recording selector, but the second recording line that is optionally defined in the AC97 specification is disabled. <o:p></o:p></span></p>
<p><span style='font-size:10.0pt;font-family:Verdana'>4. The AC97 inputs reported to the operating system may be disabled through the INF. The INF has a section where you can disable specific input lines of the codec that are not attached to any adapters. <o:p></o:p></span></p>
<p><span style='font-size:10.0pt;font-family:Verdana'>5. This driver works with Microsoft� Windows� 2000 (or later) and Microsoft Windows 98 Second Edition (or later) only. It will neither run nor install on the original release of Microsoft Windows 98. <o:p></o:p></span></p>
<p><span style='font-size:10.0pt;font-family:Verdana'>6. Due to HW constrains in the Intel 440MX chipset, this driver cannot run reliably on this chipset. Therefore, please do not add PnP IDs that contain PCI\VEN_8086&DEV_7195.<o:p></o:p></span></p>
<h3><span lang=FR style='font-family:Verdana;mso-ansi-language:FR'>CODE TOUR<o:p></o:p></span></h3>
<h4><span lang=FR style='font-family:Verdana;mso-ansi-language:FR'>File Manifest<o:p></o:p></span></h4>
<pre><u><span lang=FR style='mso-ansi-language:FR'>File<span style='mso-tab-count: 2'>���������� </span>Description<o:p></o:p></span></u></pre><pre><span lang=FR style='mso-ansi-language:FR'><o:p> </o:p></span></pre><pre>Ac97reg.h<span style='mso-spacerun:yes'>�� </span><span style='mso-tab-count:1'>�� </span>Definition of the AC97 registers</pre><pre>Ac97smpl.inf<span style='mso-tab-count:1'>�� </span>Setup information</pre><pre>Ac97smpl.rc <span style='mso-tab-count:1'>�� </span>Resource file containing version information</pre><pre><span class=SpellE>Adapter.cpp</span> <span style='mso-tab-count:1'>�� </span>Connects driver with the system</pre><pre><span class=SpellE>Adapter.h</span><span style='mso-spacerun:yes'>�� </span><span style='mso-tab-count:1'>�� </span>Header file for <span class=SpellE>adapter.cpp</span></pre><pre><span class=SpellE>Common.cpp</span><span style='mso-spacerun:yes'>� </span><span style='mso-tab-count:1'>�� </span>Common object used by all <span class=SpellE>miniports</span></pre><pre><span class=SpellE>Common.h</span><span style='mso-spacerun:yes'>��� </span><span style='mso-tab-count:1'>�� </span>Header file for the common object</pre><pre><span class=SpellE>Debug.h</span><span style='mso-spacerun:yes'>���� </span><span style='mso-tab-count:1'>�� </span>Debug output support</pre><pre><span class=SpellE>Guids.h</span><span style='mso-spacerun:yes'>���� </span><span style='mso-tab-count:1'>�� </span>Private <span class=SpellE>GUIDs</span> used by the driver (like name definitions)</pre><pre><span class=SpellE>Ichreg.h</span><span style='mso-spacerun:yes'>��� </span><span style='mso-tab-count:1'>�� </span>Defines the registers of the INTEL AC97 interface (ICH)</pre><pre><span class=SpellE>Ichwave.cpp</span> <span style='mso-tab-count:1'>�� </span>Implementation of the stream object (DMA programming)</pre><pre><span class=SpellE>Ichwave.h</span><span style='mso-spacerun:yes'>�� </span><span style='mso-tab-count:1'>�� </span>Header file for the stream object</pre><pre><span class=SpellE>Makefile</span><span style='mso-spacerun:yes'>��� </span><span style='mso-tab-count:1'>�� </span>Standard Windows NT <span class=SpellE>makefile</span></pre><pre><span class=SpellE>Mintopo.cpp</span> <span style='mso-tab-count:1'>�� </span>Implementation of the topology miniport</pre><pre><span class=SpellE>Mintopo.h</span><span style='mso-spacerun:yes'>�� </span><span style='mso-tab-count:1'>�� </span>Header file for the topology miniport</pre><pre><span class=SpellE>Minwave.cpp</span> <span style='mso-tab-count:1'>�� </span>Implementation of the wave PCI miniport</pre><pre><span class=SpellE>Minwave.h</span><span style='mso-spacerun:yes'>�� </span><span style='mso-tab-count:1'>�� </span>Header file for the wave PCI miniport</pre><pre><span class=SpellE>Prophnd.cpp</span> <span style='mso-tab-count:1'>�� </span>Implementation of the property handler (part of the topology miniport)</pre><pre>Readme.htm<span style='mso-spacerun:yes'>� </span><span style='mso-tab-count:1'>�� </span>Documentation for this sample (this file)</pre><pre><span class=SpellE>Shared.h</span><span style='mso-spacerun:yes'>��� </span><span style='mso-tab-count:1'>�� </span>Header file shared by every C++ source file</pre><pre>Sources<span style='mso-spacerun:yes'>���� </span><span style='mso-tab-count:1'>�� </span>Dependency information for compiling</pre><pre><o:p> </o:p></pre>
<p align=center style='margin:0in;margin-bottom:.0001pt;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";mso-fareast-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-fareast-font-family:"Courier New"; 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;mso-padding-alt:0in 0in 0in 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='margin:0in;margin-bottom:.0001pt;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-fareast-font-family: "Courier New";mso-bidi-font-family:"Courier New"'>� Microsoft Corporation 1999</span><span style='font-size:10.0pt;font-family:Verdana;mso-fareast-font-family:"Courier New"; mso-bidi-font-family:"Courier New"'> <o:p></o:p></span></p>
</div>
</body>
</html>
|