windows-nt/Source/XPSP1/NT/drivers/ddk/wdmaudio/gfx/gfxswap
2020-09-26 16:20:57 +08:00
..
driver Add source files 2020-09-26 16:20:57 +08:00
gfxprop Add source files 2020-09-26 16:20:57 +08:00
inc Add source files 2020-09-26 16:20:57 +08:00
gfxswap.inf Add source files 2020-09-26 16:20:57 +08:00
readme.htm Add source files 2020-09-26 16:20:57 +08:00

<html 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>DRIVER INSTALLATION</title>
<!--[if gte mso 9]><xml>
 <o:DocumentProperties>
  <o:Author>Frank Berreth</o:Author>
  <o:LastAuthor>Frank Berreth</o:LastAuthor>
  <o:Revision>16</o:Revision>
  <o:TotalTime>243</o:TotalTime>
  <o:Created>2001-05-10T19:35:00Z</o:Created>
  <o:LastSaved>2001-11-20T21:04:00Z</o:LastSaved>
  <o:Pages>1</o:Pages>
  <o:Words>656</o:Words>
  <o:Characters>3741</o:Characters>
  <o:Company>Microsoft Corp.</o:Company>
  <o:Lines>31</o:Lines>
  <o:Paragraphs>8</o:Paragraphs>
  <o:CharactersWithSpaces>4389</o:CharactersWithSpaces>
  <o:Version>10.2625</o:Version>
 </o:DocumentProperties>
</xml><![endif]--><!--[if gte mso 9]><xml>
 <w:WordDocument>
  <w:Zoom>90</w:Zoom>
  <w:SpellingState>Clean</w:SpellingState>
  <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
 </w:WordDocument>
</xml><![endif]-->
<style>
<!--
 /* Font Definitions */
 @font-face
	{font-family:Wingdings;
	panose-1:5 0 0 0 0 0 0 0 0 0;
	mso-font-charset:2;
	mso-generic-font-family:auto;
	mso-font-pitch:variable;
	mso-font-signature:0 268435456 0 0 -2147483648 0;}
@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-charset:0;
	mso-generic-font-family:swiss;
	mso-font-format:other;
	mso-font-pitch:variable;
	mso-font-signature:3 0 0 0 1 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;}
@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;}
 /* List Definitions */
 @list l0
	{mso-list-id:470832602;
	mso-list-type:hybrid;
	mso-list-template-ids:-1744552344 -718116866 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	margin-left:1.0in;
	text-indent:-.25in;
	font-family:Symbol;}
@list l1
	{mso-list-id:862010739;
	mso-list-type:hybrid;
	mso-list-template-ids:953296632 -718116866 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l1:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	margin-left:1.0in;
	text-indent:-.25in;
	font-family:Symbol;}
@list l2
	{mso-list-id:1429085203;
	mso-list-type:hybrid;
	mso-list-template-ids:-2050748712 -718116866 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l2:level1
	{mso-level-number-format:bullet;
	mso-level-text:\F0B7;
	mso-level-tab-stop:1.0in;
	mso-level-number-position:left;
	margin-left:1.0in;
	text-indent:-.25in;
	font-family:Symbol;}
ol
	{margin-bottom:0in;}
ul
	{margin-bottom:0in;}
-->
</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'>About The GFX 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'>The samples in the
subdirectories <20>drivers<72> and <20><span class=SpellE>GFXProp</span><3E> depend on each
other. They all get installed with the same INF file that is in this directory.
The cross project header file is in the <20>inc<6E> directory. It defines the GUIDS
that are used in properties and for names etc. You have the following samples:<o:p></o:p></span></p>

<table class=MsoNormalTable border=0 cellspacing=4 cellpadding=0
 style='mso-cellspacing:.05in;mso-padding-alt:0in 5.75pt 0in 5.75pt'>
 <tr style='mso-yfti-irow:0;height:26.0pt'>
  <td width=107 valign=top style='width:80.05pt;padding:0in 5.75pt 0in 5.75pt;
  height:26.0pt'>
  <p><span class=SpellE><b><span style='font-size:10.0pt;font-family:Verdana'>GFXProp</span></b></span><b><span
  style='font-size:10.0pt;font-family:Verdana'><o:p></o:p></span></b></p>
  </td>
  <td width=572 valign=top style='width:429.1pt;padding:0in 5.75pt 0in 5.75pt;
  height:26.0pt'>
  <p><span style='font-size:10.0pt;font-family:Verdana'>This sample shows how
  to write a property dialog DLL that gets loaded by the multimedia control
  panel when a user selects the <20>properties<65> button on the <20>effects<74> tab of the
  <20>Advanced Audio Properties<65> dialog that you can open when you click on the
  advanced button of the audio tab of the multimedia control dialog. With this
  property dialog the user then can alter all the possible configurations of
  the GFX. This sample requires the audio GFX filter sample to be installed.<o:p></o:p></span></p>
  </td>
 </tr>
 <tr style='mso-yfti-irow:1;mso-yfti-lastrow:yes;height:10.4pt'>
  <td width=107 valign=top style='width:80.05pt;padding:0in 5.75pt 0in 5.75pt;
  height:10.4pt'>
  <p><b><span style='font-size:10.0pt;font-family:Verdana'>Driver<o:p></o:p></span></b></p>
  </td>
  <td width=572 valign=top style='width:429.1pt;padding:0in 5.75pt 0in 5.75pt;
  height:10.4pt'>
  <p><span style='font-size:10.0pt;font-family:Verdana'>This is the actual
  audio GFX filter sample.<o:p></o:p></span></p>
  </td>
 </tr>
</table>

<h3><span style='font-family:Verdana'>GUID DEPENDENCIES BETWEEN THE SAMPLES<o:p></o:p></span></h3>

<p class=MsoNormal><span class=SpellE>GUIDs</span> are in general used to communicate
between different modules. For that reason, each module needs to know the exact
GUID which causes dependencies. In the GFX projects there are several
dependencies because of <span class=SpellE>GUIDs</span>. It is not recommended
for example to take the <span class=SpellE>GFXProp</span> sample and modify it
for your needs because there are many <span class=SpellE>GUIDs</span> used that
need to be unique for each project, and some <span class=SpellE>GUIDs</span> need
to be known between projects and some are predefined. Therefore it is a better
approach to create a new project and make sure your program code is derived
from the sample.</p>

<h4>GUIDS THAT NEED TO BE CUSTOMIZED</h4>

<p class=MsoNormal>There are several <span class=SpellE>GUIDs</span> you need
to change when you modify the sample for your new project. These are:</p>

<p class=MsoNormal style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo1;
tab-stops:list 1.0in'><![if !supportLists]><span style='font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
style='mso-list:Ignore'><3E><span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>GUID stored under <span class=SpellE>GFX.DeviceDesc</span>
in INF file and <span class=SpellE>GFX.DeviceId</span> in INF file</p>

<p class=MsoNormal style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo1;
tab-stops:list 1.0in'><![if !supportLists]><span style='font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
style='mso-list:Ignore'><3E><span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>GUID stored under GFX\<span class=SpellE>Userinterface</span>\CLSID
in INF and GUID in section <span class=SpellE>GFXPropLib</span> of file <span
class=SpellE>GFXprop.idl</span></p>

<p class=MsoNormal style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo1;
tab-stops:list 1.0in'><![if !supportLists]><span style='font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
style='mso-list:Ignore'><3E><span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span class=SpellE>GFXGUID.ChannelSwap</span> in
INF file and <span class=SpellE>msgfx.h</span> file (name of GFX node)</p>

<p class=MsoNormal style='margin-left:1.0in;text-indent:-.25in;mso-list:l0 level1 lfo1;
tab-stops:list 1.0in'><![if !supportLists]><span style='font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
style='mso-list:Ignore'><3E><span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span class=SpellE>GFX.Ref</span> in INF file
and <span class=SpellE>msgfx.h</span></p>

<h4>GUIDS THAT NEED TO BE THE SAME ACROSS PROJECTS</h4>

<p class=MsoNormal>The following <span class=SpellE>GUIDs</span> need to be the
same in projects (if you change one also change the other). One classic example
are property sets (which are <span class=SpellE>GUIDs</span>).</p>

<p class=MsoNormal style='margin-left:1.0in;text-indent:-.25in;mso-list:l1 level1 lfo2;
tab-stops:list 1.0in'><![if !supportLists]><span style='font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
style='mso-list:Ignore'><3E><span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>GUID stored under GFX\<span class=SpellE>Userinterface</span>\CLSID
(GUID for GFX property page object/library) in INF and GUID in section <span
class=SpellE>GFXPropLib</span> of file <span class=SpellE>GFXprop.idl</span></p>

<p class=MsoNormal style='margin-left:1.0in;text-indent:-.25in;mso-list:l1 level1 lfo2;
tab-stops:list 1.0in'><![if !supportLists]><span style='font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
style='mso-list:Ignore'><3E><span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span class=SpellE>GFXGUID.ChannelSwap</span> in
INF file and GFXSAMPLE_NODENAME_CHANNEL_SWAP in file <span class=SpellE>msgfx.h</span></p>

<p class=MsoNormal style='margin-left:1.0in;text-indent:-.25in;mso-list:l1 level1 lfo2;
tab-stops:list 1.0in'><![if !supportLists]><span style='font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
style='mso-list:Ignore'><3E><span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]><span class=SpellE>GFX.Ref</span> in INF file and
<span class=SpellE>KSNAME_MsGfxSample</span> in file <span class=SpellE>msgfx.h</span></p>

<h4>GUIDS THE VC6++ WIZARD TAKES CARE OF WHEN YOU CREATE A NEW ATL PROJECT</h4>

<p class=MsoNormal>There are also several <span class=SpellE>GUIDs</span> that
the ATL Wizard creates when you create a new ATL project. If you are going to
modify the <span class=SpellE>GFXProp</span> sample then you will need to
change those <span class=SpellE>GUIDs</span> manually:</p>

<p class=MsoNormal style='margin-left:1.0in;text-indent:-.25in;mso-list:l2 level1 lfo3;
tab-stops:list 1.0in'><![if !supportLists]><span style='font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
style='mso-list:Ignore'><3E><span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>In file <span class=SpellE>GFXProperty.rgs</span>
the CLSID for the &quot;<span class=SpellE>GFXProperty</span> Class&quot; 3
times,<o:p></o:p></p>

<p class=MsoNormal style='margin-left:1.0in;text-indent:-.25in;mso-list:l2 level1 lfo3;
tab-stops:list 1.0in'><![if !supportLists]><span style='font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
style='mso-list:Ignore'><3E><span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>the same GUID is in file <span class=SpellE>GFXProp.idl</span>
under <20><span class=SpellE>GFXPropPages</span><3E><o:p></o:p></p>

<p class=MsoNormal style='margin-left:1.0in;text-indent:-.25in;mso-list:l2 level1 lfo3;
tab-stops:list 1.0in'><![if !supportLists]><span style='font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
style='mso-list:Ignore'><3E><span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>In file <span class=SpellE>GFXPropPages.rgs</span>
the CLSID for the &quot;<span class=SpellE>GFXPropPages</span> Class&quot; 3
times,<o:p></o:p></p>

<p class=MsoNormal style='margin-left:1.0in;text-indent:-.25in;mso-list:l2 level1 lfo3;
tab-stops:list 1.0in'><![if !supportLists]><span style='font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
style='mso-list:Ignore'><3E><span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>the same GUID is in file <span class=SpellE>GFXProp.idl</span>
under <20><span class=SpellE>GFXPROPLib</span><3E> and the INF file stored under GFX\<span
class=SpellE>Unserinterface</span>\CLSID.<o:p></o:p></p>

<p class=MsoNormal style='margin-left:1.0in;text-indent:-.25in;mso-list:l2 level1 lfo3;
tab-stops:list 1.0in'><![if !supportLists]><span style='font-family:Symbol;
mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span
style='mso-list:Ignore'><3E><span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span></span></span><![endif]>In file <span class=SpellE>GFXPropPages.rgs</span>
the <20><span class=SpellE>TypeLib</span><3E> GUID which is also used in <span
class=SpellE>GFXProp.idl</span>.</p>

<h3><span style='font-family:Verdana'>HOW TO INSTALL THE SAMPLE<o:p></o:p></span></h3>

<p class=MsoNormal>In order to install the sample you need to right click on
the INF file and choose <20>Install<6C>. The system will then copy the INF file to
the <20>Program Files\DDK<44> directory and a few seconds later execute the INF file
from there installing the GFX filter and the property DLL.</p>

<p class=MsoNormal>You need to open the <20>Advanced Audio Properties<65> of your USB
speakers and click the effects tab (Control Panel -&gt; Sounds and Audio
Devices -&gt; Audio tab -&gt; Select USB speakers -&gt;Advanced button -&gt;
Effects tab). If you have Microsoft DSS 80 USB speakers then you will see a
combo box where you can select and apply the GFX. If you do <b
style='mso-bidi-font-weight:normal'>not </b>have those USB speakers then you
need to modify the INF file <b style='mso-bidi-font-weight:normal'>before </b>installation
and replace the PnP ID of the Microsoft DSS 80 USB speakers with the PnP ID of
the USB speakers that you have.</p>

<p class=MsoNormal>You will only be able to install the GFX <b
style='mso-bidi-font-weight:normal'>once</b> on a given test machine and you
will not be able to uninstall the GFX once it<69>s installed.</p>

<h3><span style='font-family:Verdana'>ADDITIONAL INFORMATION TO THE INF FILE<o:p></o:p></span></h3>

<p><span style='font-size:10.0pt;font-family:Verdana'>The INF file will try to
install the audio GFX sample together with the property dialog on Microsoft<66>
Windows<77> 2000 (and later) operating systems. The sample however will only work
on Microsoft Windows XP (and later). <o:p></o:p></span></p>

<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"'><3E> Microsoft Corporation 2001</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>