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:v="urn:schemas-microsoft-com:vml" 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>ADDITIONAL INFORMATION TO THE SAMPLE The private property is exposed as a filter property</title> <!--[if gte mso 9]><xml>
<o:DocumentProperties> <o:Author>Frank Berreth</o:Author> <o:LastAuthor>Frank Berreth</o:LastAuthor> <o:Revision>8</o:Revision> <o:TotalTime>104</o:TotalTime> <o:Created>2001-05-10T16:58:00Z</o:Created> <o:LastSaved>2002-07-02T22:03:00Z</o:LastSaved> <o:Pages>1</o:Pages> <o:Words>548</o:Words> <o:Characters>3126</o:Characters> <o:Company>Microsoft Corp.</o:Company> <o:Lines>26</o:Lines> <o:Paragraphs>7</o:Paragraphs> <o:CharactersWithSpaces>3667</o:CharactersWithSpaces> <o:Version>10.3501</o:Version> </o:DocumentProperties> </xml><![endif]--><!--[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]--> <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;} 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";} span.SpellE {mso-style-name:""; mso-spl-e:yes;} span.GramE {mso-style-name:""; mso-gram-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=purple style='tab-interval:.5in'>
<div class=Section1>
<h2><span style='font-family:Verdana'>Audio Property Page 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 demonstrates the basics of writing an audio property page, and can be used as a base to write your own property page. The sample only works together with the AC97 WDM audio sample driver which runs on an Intel� motherboard with integrated AC97 controller, like the Intel 810 Chipset.<o:p></o:p></span></p>
<p><span style='font-size:10.0pt;font-family:Verdana'>After you install the audio driver together with this sample, the property page will appear when you open the device manager and click on the properties for the AC97 WDM audio sample driver. Instead of having the usual property sheets, you will see an additional property sheet called �Features� which will display some AC97 codec features.<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><span class=GramE>cZ</span></span></b> from the AC97 directory (parent directory). This would also compile the AC97 WDM audio driver sample that is needed for this sample to work.<o:p></o:p></span></p>
<p><span style='font-size:10.0pt;font-family:Verdana'>The INF named �AC97smpl.inf� included in the AC97 subdirectory (parent directory) can be used to install the sample after it has been built. Simply copy the INF and this sample binary and the AC97 driver binary to a floppy disk and then update the driver for the device with the one from the floppy. <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 property page sample may be updated by copying the binary into %SystemRoot%\System32 on the target machine, provided that there are no INF changes.<o:p></o:p></span></p>
<h3><span style='font-family:Verdana'>SAMPLE ISSUES<o:p></o:p></span></h3>
<h3><span style='font-size:10.0pt;mso-bidi-font-size:13.5pt;font-family:Verdana; font-weight:normal'>This sample only works with </span><span style='font-size: 10.0pt;font-family:Verdana;font-weight:normal'>Microsoft� Windows� 2000 (or higher)</span><span style='font-size:10.0pt;font-family:Verdana'> </span><span style='font-size:10.0pt;font-family:Verdana;font-weight:normal'>operating system. If you want to run this sample on Microsoft� Windows� ME for example, you need to modify the INF file and write a <span class=SpellE>thunk</span>-layer for the property page since the device manager makes 16-bit calls into the property page sample.</span><span style='font-size:10.0pt;mso-bidi-font-size: 13.5pt;font-family:Verdana;font-weight:normal'><o:p></o:p></span></h3>
<p><b><span style='font-size:13.5pt;mso-bidi-font-size:12.0pt;font-family:Verdana'>ADDITIONAL INFORMATION TO THE SAMPLE<o:p></o:p></span></b></p>
<p><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Verdana'>The property page sample communicates with the AC97 WDM audio driver sample through a private property. The DLL then fills all dialog fields with the information received from the audio driver. The private property is defined in the header file �<span class=SpellE>prvprop.h</span>�.<o:p></o:p></span></p>
<p><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Verdana'>The private property is exposed in the audio driver as a filter property. As a result of this, we don't have to pass down a KSP_NODE structure but a KSPROPERTY structure (which is missing the node). Add properties to the topology filter if they are generic and not connected with a node.<br> <br> You can pass down additional information besides the KSPROPERTY structure. Whatever you add after the structure is passed to the topology handler. The "Instance" pointer points to the added data and the "<span class=SpellE>InstanceSize</span>" variable in the PPCPROPERTY_REQUEST structure contains the additional buffer length. The output buffer that was passed in the <span class=SpellE>DeviceIoControl</span> call is the "Value" pointer (and "<span class=SpellE>ValueSize</span>" variable).<br> <br> <span class=GramE>Use node properties (define your own GUID, attach that to the node like the KSPROPSETID_AUDIO is attached to for example volume nodes) if the property changes values of that node (special 3d node for example).</span> Make sure you specify KSPROPERTY_TYPE_TOPOLOGY when you talk with a node and pass at least a KSP_NODE structure down. Everything passed after KSP_NODE is again accessible with the "Instance" and "<span class=SpellE>InstanceSize</span>" variables.<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>AC97prop.cpp<span style='mso-tab-count:1'>�� </span>Includes all the code necessary for the sample</pre><pre>AC97prop.def<span style='mso-tab-count:1'>�� </span>To build the DLL</pre><pre>AC97prop.rc<span style='mso-tab-count:1'>��� </span>Property sheet definition</pre><pre><span class=SpellE>Makefile</span><span style='mso-tab-count:1'>������ </span>Standard Windows NT <span class=SpellE>makefile</span></pre><pre>Readme.htm<span style='mso-tab-count: 1'>���� </span>This file</pre><pre><span class=SpellE>Resource.h</span><span style='mso-tab-count:1'>���� </span>Needed for the property sheet definition</pre><pre>Sources<span style='mso-tab-count:2'>������� </span>Dependency information for compiling</pre><pre><span class=SpellE>Version.h</span><span style='mso-tab-count:1'>����� </span>Version information</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>
|