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=Word.Document> <meta name=Generator content="Microsoft Word 10"> <meta name=Originator content="Microsoft Word 10"> <link rel=File-List href="readme_files/filelist.xml"> <title>SoundBlaster16</title> <!--[if gte mso 9]><xml>
<o:DocumentProperties> <o:Author>Alper SELCUK</o:Author> <o:LastAuthor>Frank Berreth</o:LastAuthor> <o:Revision>10</o:Revision> <o:TotalTime>164</o:TotalTime> <o:Created>2000-10-03T17:03:00Z</o:Created> <o:LastSaved>2002-07-02T22:08:00Z</o:LastSaved> <o:Pages>1</o:Pages> <o:Words>453</o:Words> <o:Characters>2588</o:Characters> <o:Company>Microsoft Internal</o:Company> <o:Lines>21</o:Lines> <o:Paragraphs>6</o:Paragraphs> <o:CharactersWithSpaces>3035</o:CharactersWithSpaces> <o:Version>10.3501</o:Version> </o:DocumentProperties> </xml><![endif]--><!--[if gte mso 9]><xml>
<w:WordDocument> <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-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";} h2 {mso-margin-top-alt:auto; margin-right:0in; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; mso-outline-level:2; font-size:18.0pt; font-family:"Times New Roman"; font-weight:bold;} h3 {mso-margin-top-alt:auto; margin-right:0in; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; mso-outline-level:3; font-size:13.5pt; font-family:"Times New Roman"; font-weight:bold;} h4 {mso-margin-top-alt:auto; margin-right:0in; mso-margin-bottom-alt:auto; margin-left:0in; mso-pagination:widow-orphan; mso-outline-level:4; font-size:12.0pt; font-family:"Times New Roman"; font-weight:bold;} p.MsoBodyText, li.MsoBodyText, div.MsoBodyText {margin-top:0in; margin-right:0in; margin-bottom:6.0pt; margin-left:0in; 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;} a:visited, span.MsoHyperlinkFollowed {color:purple; 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";} p.Code, li.Code, div.Code {mso-style-name:Code; mso-style-update:auto; mso-style-parent:"Body Text"; margin-top:3.0pt; margin-right:0in; margin-bottom:6.0pt; margin-left:.5in; line-height:13.0pt; mso-pagination:widow-orphan; font-size:11.0pt; mso-bidi-font-size:10.0pt; font-family:"Courier New"; mso-fareast-font-family:"Times New Roman"; mso-bidi-font-family:"Times New Roman";} @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=purple style='tab-interval:.5in'>
<div class=Section1>
<h2><span style='font-family:Verdana'>Microsoft Virtual Audio Driver (MSVAD)<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. This sample uses a step-by-step approach to implement various WDM audio driver features. Each feature is implemented as a separate driver and uses the common classes and services implemented in root directory. The driver developers can use the same framework to implement new features without hardware dependencies.<o:p></o:p></span></p>
<p><i><span style='font-size:10.0pt;font-family:Verdana'>CadapterCommon </span></i><span style='font-size:10.0pt;font-family:Verdana'>gives the miniports access to virtual mixer HW. Also implements the AdapterPowerManagement.<o:p></o:p></span></p>
<p><i><span style='font-size:10.0pt;font-family:Verdana'>CMiniportMSVADTopology</span></i><span style='font-size:10.0pt;font-family:Verdana'> is the base class for all sample topologies. It has very basic common functions. Also common topology property handlers are in this class. The common topology is shown in the below graph.<o:p></o:p></span></p>
<p><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p>
<p><i><span style='font-size:10.0pt;font-family:Verdana'>CMiniportWaveCyclicMSVAD</span></i><span style='font-size:10.0pt;font-family:Verdana'> is the base class for all sample wave miniports. It has very basic common functions such as property handlers.<o:p></o:p></span></p>
<p><i><span style='font-size:10.0pt;font-family:Verdana'>CMiniportWaveCyclicStreamMSVAD</span></i><span style='font-size:10.0pt;font-family:Verdana'> is the base class for all sample wave streams. It implements a timer-based interrupt mechanism to simulate real DMA interrupts. Its <i>IDmaAdapter</i> implementation copies data to memory instead of DMA.<o:p></o:p></span></p>
<p><span style='font-size:10.0pt;font-family:Verdana'>The following list shows the features implemented in this sample.<o:p></o:p></span></p>
<table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0 style='border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt; mso-padding-alt:0in 5.75pt 0in 5.75pt'> <tr style='mso-yfti-irow:0'> <td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt; mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'> <p><b><span style='font-size:10.0pt;font-family:Verdana'>simple<o:p></o:p></span></b></p> </td> <td width=348 valign=top style='width:261.0pt;border:solid windowtext 1.0pt; border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt: solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'> <p><span style='font-size:10.0pt;font-family:Verdana'>Basic driver with wavecyc and topology ports<o:p></o:p></span></p> </td> </tr> <tr style='mso-yfti-irow:1'> <td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt; border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt; padding:0in 5.75pt 0in 5.75pt'> <p><b><span style='font-size:10.0pt;font-family:Verdana'>multistr<o:p></o:p></span></b></p> </td> <td width=348 valign=top style='width:261.0pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt; mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'> <p><span style='font-size:10.0pt;font-family:Verdana'>Implements multiple playback streams<o:p></o:p></span></p> </td> </tr> <tr style='mso-yfti-irow:2'> <td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt; border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt; padding:0in 5.75pt 0in 5.75pt'> <p><b><span style='font-size:10.0pt;font-family:Verdana'>drmsimp<o:p></o:p></span></b></p> </td> <td width=348 valign=top style='width:261.0pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt; mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'> <p><span style='font-size:10.0pt;font-family:Verdana'>Implements DRM for <b>simple</b>.<o:p></o:p></span></p> </td> </tr> <tr style='mso-yfti-irow:3'> <td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt; border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt; padding:0in 5.75pt 0in 5.75pt'> <p><b><span style='font-size:10.0pt;font-family:Verdana'>drmmult<o:p></o:p></span></b></p> </td> <td width=348 valign=top style='width:261.0pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt; mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'> <p><span style='font-size:10.0pt;font-family:Verdana'>Implements DRM for <b>drmsimp</b><o:p></o:p></span></p> </td> </tr> <tr style='mso-yfti-irow:4'> <td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt; border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt; padding:0in 5.75pt 0in 5.75pt'> <p><b><span style='font-size:10.0pt;font-family:Verdana'>pcmex<o:p></o:p></span></b></p> </td> <td width=348 valign=top style='width:261.0pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt; mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'> <p><span style='font-size:10.0pt;font-family:Verdana'>Implements WAVEFORMATEXTENSIBLE pins<o:p></o:p></span></p> </td> </tr> <tr style='mso-yfti-irow:5'> <td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt; border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt; padding:0in 5.75pt 0in 5.75pt'> <p><b><span style='font-size:10.0pt;font-family:Verdana'>ac3<o:p></o:p></span></b></p> </td> <td width=348 valign=top style='width:261.0pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt; mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'> <p><span style='font-size:10.0pt;font-family:Verdana'>Implements AC3 pins for playback<o:p></o:p></span></p> </td> </tr> <tr style='mso-yfti-irow:6;mso-yfti-lastrow:yes'> <td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt; border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt; padding:0in 5.75pt 0in 5.75pt'> <p><b><span style='font-size:10.0pt;font-family:Verdana'>ds2dhw<o:p></o:p></span></b></p> </td> <td width=348 valign=top style='width:261.0pt;border-top:none;border-left: none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt; mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt; mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'> <p><span style='font-size:10.0pt;font-family:Verdana'>Implements DirectSound 2D HW support.<o:p></o:p></span></p> </td> </tr> </table>
<p><span style='font-size:10.0pt;font-family:Verdana'><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, start DDK build environment and run <b>build</b> from this directory.<o:p></o:p></span></p>
<p><span style='font-size:10.0pt;font-family:Verdana'>This sample can be installed only manually. To install the sample, run Control Panel->Add New Hardware Wizard. Select Media Device Category (Sound, video and game controllers). Point the wizard to msvad.inf. Setup will give you a list of MSVAD derivatives with different features. Select one of the drivers and installation should proceed smoothly.<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'><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>Adapter.cpp<span style='mso-tab-count:1'>��� </span>Connects the driver with the system</pre><pre>Basedma.cpp<span style='mso-tab-count:1'>��� </span>IDmaChannel implementation</pre><pre>Basetopo.cpp<span style='mso-tab-count:1'>�� </span>Base topology class implementation</pre><pre>Basetopo.h<span style='mso-tab-count:1'>���� </span>Base topology class definition</pre><pre>Basewave.cpp<span style='mso-tab-count:1'>�� </span>Base wavecyclic class implementation</pre><pre>Basewave.h<span style='mso-tab-count:1'>���� </span>Base wavecyclic class definition</pre><pre>Common.cpp<span style='mso-tab-count:1'>���� </span>Common object used by all miniports</pre><pre>Common.h <span style='mso-tab-count:1'>����� </span>Header file for the common object</pre><pre>Hw.cpp<span style='mso-tab-count:2'>�������� </span>HW abstraction of MSVAD</pre><pre>Hw.h<span style='mso-tab-count:2'>���������� </span>HW class definition</pre><pre>Kshelper.cpp<span style='mso-tab-count:1'>�� </span>Kernel Streaming utility function implementations</pre><pre>Kshelper.h<span style='mso-tab-count:1'>���� </span>Kernel Streaming utility function definitions</pre><pre>Msvad.h<span style='mso-tab-count:2'>������� </span>Common definitions</pre><pre>Msvad.inf<span style='mso-tab-count:1'>����� </span>Installation inf for this sample</pre><pre>Msvad.rc<span style='mso-tab-count:1'>������ </span>Common resource file</pre><pre>Readme.htm<span style='mso-tab-count:1'>���� </span>The documentation for this driver (this file)</pre><pre>Savedata.cpp<span style='mso-tab-count:1'>�� </span>Writes PCM data to disk.</pre><pre>Savedata.h<span style='mso-tab-count:1'>���� </span>Definition of CsaveData class.</pre><pre>Sources.inc<span style='mso-tab-count:1'>��� </span>Common sources file included by all sample drivers.</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'><a href="../../../../../../../ntdriverswdmaudiobackplnadapterssb16%22%20l"><span style='font-size:10.0pt;font-family:Verdana'>Top of page</span></a><span style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></p>
<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><span style='font-size:2.0pt;mso-bidi-font-size:12.0pt'><o:p> </o:p></span></p> </td> </tr> </table>
<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"'>� Microsoft Corporation 1999-2000</span><span style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></p>
<p class=MsoNormal 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'><o:p> </o:p></p>
</div>
</body>
</html>
|