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.

380 lines
16 KiB

  1. <html xmlns:o="urn:schemas-microsoft-com:office:office"
  2. xmlns:w="urn:schemas-microsoft-com:office:word"
  3. xmlns="http://www.w3.org/TR/REC-html40">
  4. <head>
  5. <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
  6. <meta name=ProgId content=Word.Document>
  7. <meta name=Generator content="Microsoft Word 10">
  8. <meta name=Originator content="Microsoft Word 10">
  9. <link rel=File-List href="readme_files/filelist.xml">
  10. <title>SoundBlaster16</title>
  11. <!--[if gte mso 9]><xml>
  12. <o:DocumentProperties>
  13. <o:Author>Alper SELCUK</o:Author>
  14. <o:LastAuthor>Frank Berreth</o:LastAuthor>
  15. <o:Revision>10</o:Revision>
  16. <o:TotalTime>164</o:TotalTime>
  17. <o:Created>2000-10-03T17:03:00Z</o:Created>
  18. <o:LastSaved>2002-07-02T22:08:00Z</o:LastSaved>
  19. <o:Pages>1</o:Pages>
  20. <o:Words>453</o:Words>
  21. <o:Characters>2588</o:Characters>
  22. <o:Company>Microsoft Internal</o:Company>
  23. <o:Lines>21</o:Lines>
  24. <o:Paragraphs>6</o:Paragraphs>
  25. <o:CharactersWithSpaces>3035</o:CharactersWithSpaces>
  26. <o:Version>10.3501</o:Version>
  27. </o:DocumentProperties>
  28. </xml><![endif]--><!--[if gte mso 9]><xml>
  29. <w:WordDocument>
  30. <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
  31. </w:WordDocument>
  32. </xml><![endif]-->
  33. <style>
  34. <!--
  35. /* Font Definitions */
  36. @font-face
  37. {font-family:Verdana;
  38. panose-1:2 11 6 4 3 5 4 4 2 4;
  39. mso-font-charset:0;
  40. mso-generic-font-family:swiss;
  41. mso-font-pitch:variable;
  42. mso-font-signature:536871559 0 0 0 415 0;}
  43. @font-face
  44. {font-family:"MS Sans Serif";
  45. panose-1:0 0 0 0 0 0 0 0 0 0;
  46. mso-font-alt:"Times New Roman";
  47. mso-font-charset:0;
  48. mso-generic-font-family:roman;
  49. mso-font-format:other;
  50. mso-font-pitch:auto;
  51. mso-font-signature:0 0 0 0 0 0;}
  52. /* Style Definitions */
  53. p.MsoNormal, li.MsoNormal, div.MsoNormal
  54. {mso-style-parent:"";
  55. margin:0in;
  56. margin-bottom:.0001pt;
  57. mso-pagination:widow-orphan;
  58. font-size:12.0pt;
  59. font-family:"Times New Roman";
  60. mso-fareast-font-family:"Times New Roman";}
  61. h2
  62. {mso-margin-top-alt:auto;
  63. margin-right:0in;
  64. mso-margin-bottom-alt:auto;
  65. margin-left:0in;
  66. mso-pagination:widow-orphan;
  67. mso-outline-level:2;
  68. font-size:18.0pt;
  69. font-family:"Times New Roman";
  70. font-weight:bold;}
  71. h3
  72. {mso-margin-top-alt:auto;
  73. margin-right:0in;
  74. mso-margin-bottom-alt:auto;
  75. margin-left:0in;
  76. mso-pagination:widow-orphan;
  77. mso-outline-level:3;
  78. font-size:13.5pt;
  79. font-family:"Times New Roman";
  80. font-weight:bold;}
  81. h4
  82. {mso-margin-top-alt:auto;
  83. margin-right:0in;
  84. mso-margin-bottom-alt:auto;
  85. margin-left:0in;
  86. mso-pagination:widow-orphan;
  87. mso-outline-level:4;
  88. font-size:12.0pt;
  89. font-family:"Times New Roman";
  90. font-weight:bold;}
  91. p.MsoBodyText, li.MsoBodyText, div.MsoBodyText
  92. {margin-top:0in;
  93. margin-right:0in;
  94. margin-bottom:6.0pt;
  95. margin-left:0in;
  96. mso-pagination:widow-orphan;
  97. font-size:12.0pt;
  98. font-family:"Times New Roman";
  99. mso-fareast-font-family:"Times New Roman";}
  100. a:link, span.MsoHyperlink
  101. {color:blue;
  102. text-decoration:underline;
  103. text-underline:single;}
  104. a:visited, span.MsoHyperlinkFollowed
  105. {color:purple;
  106. text-decoration:underline;
  107. text-underline:single;}
  108. p
  109. {mso-margin-top-alt:auto;
  110. margin-right:0in;
  111. mso-margin-bottom-alt:auto;
  112. margin-left:0in;
  113. mso-pagination:widow-orphan;
  114. font-size:12.0pt;
  115. font-family:"Times New Roman";
  116. mso-fareast-font-family:"Times New Roman";}
  117. pre
  118. {margin:0in;
  119. margin-bottom:.0001pt;
  120. mso-pagination:widow-orphan;
  121. 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;
  122. font-size:10.0pt;
  123. font-family:"Courier New";
  124. mso-fareast-font-family:"Courier New";}
  125. p.Code, li.Code, div.Code
  126. {mso-style-name:Code;
  127. mso-style-update:auto;
  128. mso-style-parent:"Body Text";
  129. margin-top:3.0pt;
  130. margin-right:0in;
  131. margin-bottom:6.0pt;
  132. margin-left:.5in;
  133. line-height:13.0pt;
  134. mso-pagination:widow-orphan;
  135. font-size:11.0pt;
  136. mso-bidi-font-size:10.0pt;
  137. font-family:"Courier New";
  138. mso-fareast-font-family:"Times New Roman";
  139. mso-bidi-font-family:"Times New Roman";}
  140. @page Section1
  141. {size:8.5in 11.0in;
  142. margin:1.0in 1.25in 1.0in 1.25in;
  143. mso-header-margin:.5in;
  144. mso-footer-margin:.5in;
  145. mso-paper-source:0;}
  146. div.Section1
  147. {page:Section1;}
  148. -->
  149. </style>
  150. <!--[if gte mso 10]>
  151. <style>
  152. /* Style Definitions */
  153. table.MsoNormalTable
  154. {mso-style-name:"Table Normal";
  155. mso-tstyle-rowband-size:0;
  156. mso-tstyle-colband-size:0;
  157. mso-style-noshow:yes;
  158. mso-style-parent:"";
  159. mso-padding-alt:0in 5.4pt 0in 5.4pt;
  160. mso-para-margin:0in;
  161. mso-para-margin-bottom:.0001pt;
  162. mso-pagination:widow-orphan;
  163. font-size:10.0pt;
  164. font-family:"Times New Roman";}
  165. </style>
  166. <![endif]-->
  167. </head>
  168. <body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>
  169. <div class=Section1>
  170. <h2><span style='font-family:Verdana'>Microsoft Virtual Audio Driver (MSVAD)<o:p></o:p></span></h2>
  171. <p><span style='font-size:10.0pt;font-family:Arial;color:red'>[This is
  172. preliminary documentation and subject to change.]</span><span style='font-size:
  173. 10.0pt;font-family:Verdana'><o:p></o:p></span></p>
  174. <h3><span style='font-family:Verdana'>SUMMARY<o:p></o:p></span></h3>
  175. <p><span style='font-size:10.0pt;font-family:Verdana'>This sample driver
  176. demonstrates the basics of writing a WDM audio driver. This sample uses a
  177. step-by-step approach to implement various WDM audio driver features. Each
  178. feature is implemented as a separate driver and uses the common classes and
  179. services implemented in root directory. The driver developers can use the same
  180. framework to implement new features without hardware dependencies.<o:p></o:p></span></p>
  181. <p><i><span style='font-size:10.0pt;font-family:Verdana'>CadapterCommon </span></i><span
  182. style='font-size:10.0pt;font-family:Verdana'>gives the miniports access to
  183. virtual mixer HW. Also implements the AdapterPowerManagement.<o:p></o:p></span></p>
  184. <p><i><span style='font-size:10.0pt;font-family:Verdana'>CMiniportMSVADTopology</span></i><span
  185. style='font-size:10.0pt;font-family:Verdana'> is the base class for all sample
  186. topologies. It has very basic common functions. Also common topology property
  187. handlers are in this class. The common topology is shown in the below graph.<o:p></o:p></span></p>
  188. <p><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
  189. <p><i><span style='font-size:10.0pt;font-family:Verdana'>CMiniportWaveCyclicMSVAD</span></i><span
  190. style='font-size:10.0pt;font-family:Verdana'> is the base class for all sample
  191. wave miniports. It has very basic common functions such as property handlers.<o:p></o:p></span></p>
  192. <p><i><span style='font-size:10.0pt;font-family:Verdana'>CMiniportWaveCyclicStreamMSVAD</span></i><span
  193. style='font-size:10.0pt;font-family:Verdana'> is the base class for all sample
  194. wave streams. It implements a timer-based interrupt mechanism to simulate real
  195. DMA interrupts. Its <i>IDmaAdapter</i> implementation copies data to memory
  196. instead of DMA.<o:p></o:p></span></p>
  197. <p><span style='font-size:10.0pt;font-family:Verdana'>The following list shows
  198. the features implemented in this sample.<o:p></o:p></span></p>
  199. <table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0
  200. style='border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt;
  201. mso-padding-alt:0in 5.75pt 0in 5.75pt'>
  202. <tr style='mso-yfti-irow:0'>
  203. <td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt;
  204. mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'>
  205. <p><b><span style='font-size:10.0pt;font-family:Verdana'>simple<o:p></o:p></span></b></p>
  206. </td>
  207. <td width=348 valign=top style='width:261.0pt;border:solid windowtext 1.0pt;
  208. border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt:
  209. solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'>
  210. <p><span style='font-size:10.0pt;font-family:Verdana'>Basic driver with wavecyc
  211. and topology ports<o:p></o:p></span></p>
  212. </td>
  213. </tr>
  214. <tr style='mso-yfti-irow:1'>
  215. <td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt;
  216. border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
  217. padding:0in 5.75pt 0in 5.75pt'>
  218. <p><b><span style='font-size:10.0pt;font-family:Verdana'>multistr<o:p></o:p></span></b></p>
  219. </td>
  220. <td width=348 valign=top style='width:261.0pt;border-top:none;border-left:
  221. none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  222. mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
  223. mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'>
  224. <p><span style='font-size:10.0pt;font-family:Verdana'>Implements multiple
  225. playback streams<o:p></o:p></span></p>
  226. </td>
  227. </tr>
  228. <tr style='mso-yfti-irow:2'>
  229. <td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt;
  230. border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
  231. padding:0in 5.75pt 0in 5.75pt'>
  232. <p><b><span style='font-size:10.0pt;font-family:Verdana'>drmsimp<o:p></o:p></span></b></p>
  233. </td>
  234. <td width=348 valign=top style='width:261.0pt;border-top:none;border-left:
  235. none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  236. mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
  237. mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'>
  238. <p><span style='font-size:10.0pt;font-family:Verdana'>Implements DRM for <b>simple</b>.<o:p></o:p></span></p>
  239. </td>
  240. </tr>
  241. <tr style='mso-yfti-irow:3'>
  242. <td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt;
  243. border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
  244. padding:0in 5.75pt 0in 5.75pt'>
  245. <p><b><span style='font-size:10.0pt;font-family:Verdana'>drmmult<o:p></o:p></span></b></p>
  246. </td>
  247. <td width=348 valign=top style='width:261.0pt;border-top:none;border-left:
  248. none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  249. mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
  250. mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'>
  251. <p><span style='font-size:10.0pt;font-family:Verdana'>Implements DRM for <b>drmsimp</b><o:p></o:p></span></p>
  252. </td>
  253. </tr>
  254. <tr style='mso-yfti-irow:4'>
  255. <td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt;
  256. border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
  257. padding:0in 5.75pt 0in 5.75pt'>
  258. <p><b><span style='font-size:10.0pt;font-family:Verdana'>pcmex<o:p></o:p></span></b></p>
  259. </td>
  260. <td width=348 valign=top style='width:261.0pt;border-top:none;border-left:
  261. none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  262. mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
  263. mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'>
  264. <p><span style='font-size:10.0pt;font-family:Verdana'>Implements
  265. WAVEFORMATEXTENSIBLE pins<o:p></o:p></span></p>
  266. </td>
  267. </tr>
  268. <tr style='mso-yfti-irow:5'>
  269. <td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt;
  270. border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
  271. padding:0in 5.75pt 0in 5.75pt'>
  272. <p><b><span style='font-size:10.0pt;font-family:Verdana'>ac3<o:p></o:p></span></b></p>
  273. </td>
  274. <td width=348 valign=top style='width:261.0pt;border-top:none;border-left:
  275. none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  276. mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
  277. mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'>
  278. <p><span style='font-size:10.0pt;font-family:Verdana'>Implements AC3 pins for
  279. playback<o:p></o:p></span></p>
  280. </td>
  281. </tr>
  282. <tr style='mso-yfti-irow:6;mso-yfti-lastrow:yes'>
  283. <td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt;
  284. border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
  285. padding:0in 5.75pt 0in 5.75pt'>
  286. <p><b><span style='font-size:10.0pt;font-family:Verdana'>ds2dhw<o:p></o:p></span></b></p>
  287. </td>
  288. <td width=348 valign=top style='width:261.0pt;border-top:none;border-left:
  289. none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
  290. mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
  291. mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'>
  292. <p><span style='font-size:10.0pt;font-family:Verdana'>Implements DirectSound
  293. 2D HW support.<o:p></o:p></span></p>
  294. </td>
  295. </tr>
  296. </table>
  297. <p><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
  298. <h3><span style='font-family:Verdana'>BUILDING THE SAMPLE<o:p></o:p></span></h3>
  299. <p><span style='font-size:10.0pt;font-family:Verdana'>To build this sample,
  300. start DDK build environment and run <b>build</b> from this directory.<o:p></o:p></span></p>
  301. <p><span style='font-size:10.0pt;font-family:Verdana'>This sample can be
  302. installed only manually. To install the sample, run Control Panel-&gt;Add New
  303. Hardware Wizard. Select Media Device Category (Sound, video and game
  304. controllers). Point the wizard to msvad.inf. Setup will give you a list of
  305. MSVAD derivatives with different features. Select one of the drivers and
  306. installation should proceed smoothly.<o:p></o:p></span></p>
  307. <h3><span style='font-family:Verdana'>DRIVER ISSUES<o:p></o:p></span></h3>
  308. <p><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
  309. <h3><span style='font-family:Verdana'>CODE TOUR<o:p></o:p></span></h3>
  310. <h4><span style='font-family:Verdana'>File Manifest<o:p></o:p></span></h4>
  311. <pre><u>File<span style='mso-tab-count:2'>���������� </span>Description<o:p></o:p></u></pre><pre><o:p>&nbsp;</o:p></pre><pre>Adapter.cpp<span
  312. style='mso-tab-count:1'>��� </span>Connects the driver with the system</pre><pre>Basedma.cpp<span
  313. style='mso-tab-count:1'>��� </span>IDmaChannel implementation</pre><pre>Basetopo.cpp<span
  314. style='mso-tab-count:1'>�� </span>Base topology class implementation</pre><pre>Basetopo.h<span
  315. style='mso-tab-count:1'>���� </span>Base topology class definition</pre><pre>Basewave.cpp<span
  316. style='mso-tab-count:1'>�� </span>Base wavecyclic class implementation</pre><pre>Basewave.h<span
  317. style='mso-tab-count:1'>���� </span>Base wavecyclic class definition</pre><pre>Common.cpp<span
  318. style='mso-tab-count:1'>���� </span>Common object used by all miniports</pre><pre>Common.h <span
  319. style='mso-tab-count:1'>����� </span>Header file for the common object</pre><pre>Hw.cpp<span
  320. style='mso-tab-count:2'>�������� </span>HW abstraction of MSVAD</pre><pre>Hw.h<span
  321. style='mso-tab-count:2'>���������� </span>HW class definition</pre><pre>Kshelper.cpp<span
  322. style='mso-tab-count:1'>�� </span>Kernel Streaming utility function implementations</pre><pre>Kshelper.h<span
  323. style='mso-tab-count:1'>���� </span>Kernel Streaming utility function definitions</pre><pre>Msvad.h<span
  324. style='mso-tab-count:2'>������� </span>Common definitions</pre><pre>Msvad.inf<span
  325. style='mso-tab-count:1'>����� </span>Installation inf for this sample</pre><pre>Msvad.rc<span
  326. style='mso-tab-count:1'>������ </span>Common resource file</pre><pre>Readme.htm<span
  327. style='mso-tab-count:1'>���� </span>The documentation for this driver (this file)</pre><pre>Savedata.cpp<span
  328. style='mso-tab-count:1'>�� </span>Writes PCM data to disk.</pre><pre>Savedata.h<span
  329. style='mso-tab-count:1'>���� </span>Definition of CsaveData class.</pre><pre>Sources.inc<span
  330. style='mso-tab-count:1'>��� </span>Common sources file included by all sample drivers.</pre><pre><o:p>&nbsp;</o:p></pre>
  331. <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
  332. href="../../../../../../../ntdriverswdmaudiobackplnadapterssb16%22%20l"><span
  333. style='font-size:10.0pt;font-family:Verdana'>Top of page</span></a><span
  334. style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></p>
  335. <table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=624
  336. style='width:6.5in;mso-cellspacing:0in;mso-padding-alt:0in 0in 0in 0in'>
  337. <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes;height:1.5pt'>
  338. <td style='background:aqua;padding:.75pt .75pt .75pt .75pt;height:1.5pt'>
  339. <p class=MsoNormal><span style='font-size:2.0pt;mso-bidi-font-size:12.0pt'><o:p>&nbsp;</o:p></span></p>
  340. </td>
  341. </tr>
  342. </table>
  343. <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
  344. style='font-size:7.5pt;font-family:"MS Sans Serif"'>� Microsoft Corporation
  345. 1999-2000</span><span style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></p>
  346. <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>&nbsp;</o:p></p>
  347. </div>
  348. </body>
  349. </html>