windows-nt/Source/XPSP1/NT/drivers/ddk/wdmaudio/ac97/proppage/readme.htm
2020-09-26 16:20:57 +08:00

295 lines
12 KiB
HTML
Raw Blame History

<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&nbsp; 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<65> 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 <20>Features<65> 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'> <20><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
<EFBFBD>AC97smpl.inf<6E> 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<EFBFBD> Windows<77> 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<66> Windows<77> 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 <20><span class=SpellE>prvprop.h</span><EFBFBD>.<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
&quot;Instance&quot; pointer points to the added data and the &quot;<span
class=SpellE>InstanceSize</span>&quot; 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
&quot;Value&quot; pointer (and &quot;<span class=SpellE>ValueSize</span>&quot;
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 &quot;Instance&quot; and &quot;<span class=SpellE>InstanceSize</span>&quot;
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'><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Description<o:p></o:p></span></u></pre><pre><span lang=FR
style='mso-ansi-language:FR'><o:p>&nbsp;</o:p></span></pre><pre>AC97prop.cpp<span
style='mso-tab-count:1'><EFBFBD><EFBFBD> </span>Includes all the code necessary for the sample</pre><pre>AC97prop.def<span
style='mso-tab-count:1'><EFBFBD><EFBFBD> </span>To build the DLL</pre><pre>AC97prop.rc<span
style='mso-tab-count:1'><EFBFBD><EFBFBD><EFBFBD> </span>Property sheet definition</pre><pre><span
class=SpellE>Makefile</span><span style='mso-tab-count:1'><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Standard Windows NT <span
class=SpellE>makefile</span></pre><pre>Readme.htm<span style='mso-tab-count:
1'><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>This file</pre><pre><span class=SpellE>Resource.h</span><span
style='mso-tab-count:1'><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Needed for the property sheet definition</pre><pre>Sources<span
style='mso-tab-count:2'><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Dependency information for compiling</pre><pre><span
class=SpellE>Version.h</span><span style='mso-tab-count:1'><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Version information</pre><pre><o:p>&nbsp;</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>&nbsp;</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>&nbsp;</o:p></p>
</td>
</tr>
</table>
<pre><o:p>&nbsp;</o:p></pre><pre><o:p>&nbsp;</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"'><EFBFBD> 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>