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.

294 lines
12 KiB

  1. <html xmlns:v="urn:schemas-microsoft-com:vml"
  2. xmlns:o="urn:schemas-microsoft-com:office:office"
  3. xmlns:w="urn:schemas-microsoft-com:office:word"
  4. xmlns="http://www.w3.org/TR/REC-html40">
  5. <head>
  6. <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
  7. <meta name=ProgId content=Word.Document>
  8. <meta name=Generator content="Microsoft Word 10">
  9. <meta name=Originator content="Microsoft Word 10">
  10. <link rel=File-List href="readme_files/filelist.xml">
  11. <title>ADDITIONAL INFORMATION TO THE SAMPLE&nbsp; The private property is
  12. exposed as a filter property</title>
  13. <!--[if gte mso 9]><xml>
  14. <o:DocumentProperties>
  15. <o:Author>Frank Berreth</o:Author>
  16. <o:LastAuthor>Frank Berreth</o:LastAuthor>
  17. <o:Revision>8</o:Revision>
  18. <o:TotalTime>104</o:TotalTime>
  19. <o:Created>2001-05-10T16:58:00Z</o:Created>
  20. <o:LastSaved>2002-07-02T22:03:00Z</o:LastSaved>
  21. <o:Pages>1</o:Pages>
  22. <o:Words>548</o:Words>
  23. <o:Characters>3126</o:Characters>
  24. <o:Company>Microsoft Corp.</o:Company>
  25. <o:Lines>26</o:Lines>
  26. <o:Paragraphs>7</o:Paragraphs>
  27. <o:CharactersWithSpaces>3667</o:CharactersWithSpaces>
  28. <o:Version>10.3501</o:Version>
  29. </o:DocumentProperties>
  30. </xml><![endif]--><!--[if gte mso 9]><xml>
  31. <w:WordDocument>
  32. <w:SpellingState>Clean</w:SpellingState>
  33. <w:GrammarState>Clean</w:GrammarState>
  34. <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
  35. </w:WordDocument>
  36. </xml><![endif]-->
  37. <style>
  38. <!--
  39. /* Font Definitions */
  40. @font-face
  41. {font-family:Verdana;
  42. panose-1:2 11 6 4 3 5 4 4 2 4;
  43. mso-font-charset:0;
  44. mso-generic-font-family:swiss;
  45. mso-font-pitch:variable;
  46. mso-font-signature:536871559 0 0 0 415 0;}
  47. @font-face
  48. {font-family:"MS Sans Serif";
  49. panose-1:0 0 0 0 0 0 0 0 0 0;
  50. mso-font-alt:"Times New Roman";
  51. mso-font-charset:0;
  52. mso-generic-font-family:roman;
  53. mso-font-format:other;
  54. mso-font-pitch:auto;
  55. mso-font-signature:0 0 0 0 0 0;}
  56. /* Style Definitions */
  57. p.MsoNormal, li.MsoNormal, div.MsoNormal
  58. {mso-style-parent:"";
  59. margin:0in;
  60. margin-bottom:.0001pt;
  61. mso-pagination:widow-orphan;
  62. font-size:12.0pt;
  63. font-family:"Times New Roman";
  64. mso-fareast-font-family:"Times New Roman";}
  65. h2
  66. {mso-margin-top-alt:auto;
  67. margin-right:0in;
  68. mso-margin-bottom-alt:auto;
  69. margin-left:0in;
  70. mso-pagination:widow-orphan;
  71. mso-outline-level:2;
  72. font-size:18.0pt;
  73. font-family:"Times New Roman";
  74. font-weight:bold;}
  75. h3
  76. {mso-margin-top-alt:auto;
  77. margin-right:0in;
  78. mso-margin-bottom-alt:auto;
  79. margin-left:0in;
  80. mso-pagination:widow-orphan;
  81. mso-outline-level:3;
  82. font-size:13.5pt;
  83. font-family:"Times New Roman";
  84. font-weight:bold;}
  85. h4
  86. {mso-margin-top-alt:auto;
  87. margin-right:0in;
  88. mso-margin-bottom-alt:auto;
  89. margin-left:0in;
  90. mso-pagination:widow-orphan;
  91. mso-outline-level:4;
  92. font-size:12.0pt;
  93. font-family:"Times New Roman";
  94. font-weight:bold;}
  95. a:link, span.MsoHyperlink
  96. {color:blue;
  97. text-decoration:underline;
  98. text-underline:single;}
  99. a:visited, span.MsoHyperlinkFollowed
  100. {color:purple;
  101. text-decoration:underline;
  102. text-underline:single;}
  103. p
  104. {mso-margin-top-alt:auto;
  105. margin-right:0in;
  106. mso-margin-bottom-alt:auto;
  107. margin-left:0in;
  108. mso-pagination:widow-orphan;
  109. font-size:12.0pt;
  110. font-family:"Times New Roman";
  111. mso-fareast-font-family:"Times New Roman";}
  112. pre
  113. {margin:0in;
  114. margin-bottom:.0001pt;
  115. mso-pagination:widow-orphan;
  116. 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;
  117. font-size:10.0pt;
  118. font-family:"Courier New";
  119. mso-fareast-font-family:"Courier New";}
  120. span.SpellE
  121. {mso-style-name:"";
  122. mso-spl-e:yes;}
  123. span.GramE
  124. {mso-style-name:"";
  125. mso-gram-e:yes;}
  126. @page Section1
  127. {size:8.5in 11.0in;
  128. margin:1.0in 1.25in 1.0in 1.25in;
  129. mso-header-margin:.5in;
  130. mso-footer-margin:.5in;
  131. mso-paper-source:0;}
  132. div.Section1
  133. {page:Section1;}
  134. -->
  135. </style>
  136. <!--[if gte mso 10]>
  137. <style>
  138. /* Style Definitions */
  139. table.MsoNormalTable
  140. {mso-style-name:"Table Normal";
  141. mso-tstyle-rowband-size:0;
  142. mso-tstyle-colband-size:0;
  143. mso-style-noshow:yes;
  144. mso-style-parent:"";
  145. mso-padding-alt:0in 5.4pt 0in 5.4pt;
  146. mso-para-margin:0in;
  147. mso-para-margin-bottom:.0001pt;
  148. mso-pagination:widow-orphan;
  149. font-size:10.0pt;
  150. font-family:"Times New Roman";}
  151. </style>
  152. <![endif]-->
  153. </head>
  154. <body lang=EN-US link=blue vlink=purple style='tab-interval:.5in'>
  155. <div class=Section1>
  156. <h2><span style='font-family:Verdana'>Audio Property Page Sample<o:p></o:p></span></h2>
  157. <p><span style='font-size:10.0pt;font-family:Arial;color:red'>[This is
  158. preliminary documentation and subject to change.]</span><span style='font-size:
  159. 10.0pt;font-family:Verdana'><o:p></o:p></span></p>
  160. <h3><span style='font-family:Verdana'>SUMMARY<o:p></o:p></span></h3>
  161. <p><span style='font-size:10.0pt;font-family:Verdana'>This sample demonstrates the
  162. basics of writing an audio property page, and can be used as a base to write
  163. your own property page. The sample only works together with the AC97 WDM audio
  164. sample driver which runs on an Intel� motherboard with integrated AC97
  165. controller, like the Intel 810 Chipset.<o:p></o:p></span></p>
  166. <p><span style='font-size:10.0pt;font-family:Verdana'>After you install the
  167. audio driver together with this sample, the property page will appear when you
  168. open the device manager and click on the properties for the AC97 WDM audio
  169. sample driver. Instead of having the usual property sheets, you will see an
  170. additional property sheet called �Features� which will display some AC97 codec
  171. features.<o:p></o:p></span></p>
  172. <h3><span style='font-family:Verdana'>BUILDING THE SAMPLE<o:p></o:p></span></h3>
  173. <p><span style='font-size:10.0pt;font-family:Verdana'>To build this sample,
  174. enter any Windows .NET or Windows XP build environment and run <b>build</b><b
  175. style='mso-bidi-font-weight:normal'> �<span class=SpellE><span class=GramE>cZ</span></span></b>
  176. from the AC97 directory (parent directory). This would also compile the AC97
  177. WDM audio driver sample that is needed for this sample to work.<o:p></o:p></span></p>
  178. <p><span style='font-size:10.0pt;font-family:Verdana'>The INF named
  179. �AC97smpl.inf� included in the AC97 subdirectory (parent directory) can be used
  180. to install the sample after it has been built. Simply copy the INF and this
  181. sample binary and the AC97 driver binary to a floppy disk and then update the
  182. driver for the device with the one from the floppy. <o:p></o:p></span></p>
  183. <p><span style='font-size:10.0pt;font-family:Verdana'>Once the driver has been
  184. installed with the INF, the property page sample may be updated by copying the
  185. binary into %SystemRoot%\System32 on the target machine, provided that there
  186. are no INF changes.<o:p></o:p></span></p>
  187. <h3><span style='font-family:Verdana'>SAMPLE ISSUES<o:p></o:p></span></h3>
  188. <h3><span style='font-size:10.0pt;mso-bidi-font-size:13.5pt;font-family:Verdana;
  189. font-weight:normal'>This sample only works with </span><span style='font-size:
  190. 10.0pt;font-family:Verdana;font-weight:normal'>Microsoft� Windows� 2000 (or
  191. higher)</span><span style='font-size:10.0pt;font-family:Verdana'> </span><span
  192. style='font-size:10.0pt;font-family:Verdana;font-weight:normal'>operating
  193. system. If you want to run this sample on Microsoft� Windows� ME for example,
  194. you need to modify the INF file and write a <span class=SpellE>thunk</span>-layer
  195. for the property page since the device manager makes 16-bit calls into the
  196. property page sample.</span><span style='font-size:10.0pt;mso-bidi-font-size:
  197. 13.5pt;font-family:Verdana;font-weight:normal'><o:p></o:p></span></h3>
  198. <p><b><span style='font-size:13.5pt;mso-bidi-font-size:12.0pt;font-family:Verdana'>ADDITIONAL
  199. INFORMATION TO THE SAMPLE<o:p></o:p></span></b></p>
  200. <p><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Verdana'>The
  201. property page sample communicates with the AC97 WDM audio driver sample through
  202. a private property. The DLL then fills all dialog fields with the information
  203. received from the audio driver. The private property is defined in the header
  204. file �<span class=SpellE>prvprop.h</span>�.<o:p></o:p></span></p>
  205. <p><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Verdana'>The
  206. private property is exposed in the audio driver as a filter property. As a
  207. result of this, we don't have to pass down a KSP_NODE structure but a
  208. KSPROPERTY structure (which is missing the node). Add properties to the
  209. topology filter if they are generic and not connected with a node.<br>
  210. <br>
  211. You can pass down additional information besides the KSPROPERTY structure.
  212. Whatever you add after the structure is passed to the topology handler. The
  213. &quot;Instance&quot; pointer points to the added data and the &quot;<span
  214. class=SpellE>InstanceSize</span>&quot; variable in the PPCPROPERTY_REQUEST
  215. structure contains the additional buffer length. The output buffer that was
  216. passed in the <span class=SpellE>DeviceIoControl</span> call is the
  217. &quot;Value&quot; pointer (and &quot;<span class=SpellE>ValueSize</span>&quot;
  218. variable).<br>
  219. <br>
  220. <span class=GramE>Use node properties (define your own GUID, attach that to the
  221. node like the KSPROPSETID_AUDIO is attached to for example volume nodes) if the
  222. property changes values of that node (special 3d node for example).</span> Make
  223. sure you specify KSPROPERTY_TYPE_TOPOLOGY when you talk with a node and pass at
  224. least a KSP_NODE structure down. Everything passed after KSP_NODE is again
  225. accessible with the &quot;Instance&quot; and &quot;<span class=SpellE>InstanceSize</span>&quot;
  226. variables.<o:p></o:p></span></p>
  227. <h3><span lang=FR style='font-family:Verdana;mso-ansi-language:FR'>CODE TOUR<o:p></o:p></span></h3>
  228. <h4><span lang=FR style='font-family:Verdana;mso-ansi-language:FR'>File
  229. Manifest<o:p></o:p></span></h4>
  230. <pre><u><span lang=FR style='mso-ansi-language:FR'>File<span style='mso-tab-count:
  231. 2'>���������� </span>Description<o:p></o:p></span></u></pre><pre><span lang=FR
  232. style='mso-ansi-language:FR'><o:p>&nbsp;</o:p></span></pre><pre>AC97prop.cpp<span
  233. style='mso-tab-count:1'>�� </span>Includes all the code necessary for the sample</pre><pre>AC97prop.def<span
  234. style='mso-tab-count:1'>�� </span>To build the DLL</pre><pre>AC97prop.rc<span
  235. style='mso-tab-count:1'>��� </span>Property sheet definition</pre><pre><span
  236. class=SpellE>Makefile</span><span style='mso-tab-count:1'>������ </span>Standard Windows NT <span
  237. class=SpellE>makefile</span></pre><pre>Readme.htm<span style='mso-tab-count:
  238. 1'>���� </span>This file</pre><pre><span class=SpellE>Resource.h</span><span
  239. style='mso-tab-count:1'>���� </span>Needed for the property sheet definition</pre><pre>Sources<span
  240. style='mso-tab-count:2'>������� </span>Dependency information for compiling</pre><pre><span
  241. class=SpellE>Version.h</span><span style='mso-tab-count:1'>����� </span>Version information</pre><pre><o:p>&nbsp;</o:p></pre>
  242. <p align=center style='margin:0in;margin-bottom:.0001pt;text-align:center;
  243. 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
  244. style='font-size:10.0pt;font-family:"Courier New";mso-fareast-font-family:"Courier New"'><a
  245. href="#top"><span style='font-family:Verdana'>Top of page</span></a></span><span
  246. style='font-size:10.0pt;font-family:Verdana;mso-fareast-font-family:"Courier New";
  247. mso-bidi-font-family:"Courier New"'> <o:p></o:p></span></p>
  248. <pre><o:p>&nbsp;</o:p></pre>
  249. <table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=624
  250. style='width:6.5in;mso-cellspacing:0in;mso-padding-alt:0in 0in 0in 0in'>
  251. <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes;height:1.5pt'>
  252. <td style='background:aqua;padding:.75pt .75pt .75pt .75pt;height:1.5pt'>
  253. <p class=MsoNormal><o:p>&nbsp;</o:p></p>
  254. </td>
  255. </tr>
  256. </table>
  257. <pre><o:p>&nbsp;</o:p></pre><pre><o:p>&nbsp;</o:p></pre>
  258. <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
  259. style='font-size:7.5pt;font-family:"MS Sans Serif";mso-fareast-font-family:
  260. "Courier New";mso-bidi-font-family:"Courier New"'>� Microsoft Corporation 1999</span><span
  261. style='font-size:10.0pt;font-family:Verdana;mso-fareast-font-family:"Courier New";
  262. mso-bidi-font-family:"Courier New"'> <o:p></o:p></span></p>
  263. </div>
  264. </body>
  265. </html>