295 lines
12 KiB
HTML
295 lines
12 KiB
HTML
<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<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
|
||
"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'><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> </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> </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"'><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>
|
||
|