381 lines
16 KiB
HTML
381 lines
16 KiB
HTML
<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>SoundBlaster16</title>
|
||
<!--[if gte mso 9]><xml>
|
||
<o:DocumentProperties>
|
||
<o:Author>Alper SELCUK</o:Author>
|
||
<o:LastAuthor>Frank Berreth</o:LastAuthor>
|
||
<o:Revision>10</o:Revision>
|
||
<o:TotalTime>164</o:TotalTime>
|
||
<o:Created>2000-10-03T17:03:00Z</o:Created>
|
||
<o:LastSaved>2002-07-02T22:08:00Z</o:LastSaved>
|
||
<o:Pages>1</o:Pages>
|
||
<o:Words>453</o:Words>
|
||
<o:Characters>2588</o:Characters>
|
||
<o:Company>Microsoft Internal</o:Company>
|
||
<o:Lines>21</o:Lines>
|
||
<o:Paragraphs>6</o:Paragraphs>
|
||
<o:CharactersWithSpaces>3035</o:CharactersWithSpaces>
|
||
<o:Version>10.3501</o:Version>
|
||
</o:DocumentProperties>
|
||
</xml><![endif]--><!--[if gte mso 9]><xml>
|
||
<w:WordDocument>
|
||
<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;}
|
||
p.MsoBodyText, li.MsoBodyText, div.MsoBodyText
|
||
{margin-top:0in;
|
||
margin-right:0in;
|
||
margin-bottom:6.0pt;
|
||
margin-left:0in;
|
||
mso-pagination:widow-orphan;
|
||
font-size:12.0pt;
|
||
font-family:"Times New Roman";
|
||
mso-fareast-font-family:"Times New Roman";}
|
||
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";}
|
||
p.Code, li.Code, div.Code
|
||
{mso-style-name:Code;
|
||
mso-style-update:auto;
|
||
mso-style-parent:"Body Text";
|
||
margin-top:3.0pt;
|
||
margin-right:0in;
|
||
margin-bottom:6.0pt;
|
||
margin-left:.5in;
|
||
line-height:13.0pt;
|
||
mso-pagination:widow-orphan;
|
||
font-size:11.0pt;
|
||
mso-bidi-font-size:10.0pt;
|
||
font-family:"Courier New";
|
||
mso-fareast-font-family:"Times New Roman";
|
||
mso-bidi-font-family:"Times New Roman";}
|
||
@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'>Microsoft Virtual Audio Driver (MSVAD)<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 driver
|
||
demonstrates the basics of writing a WDM audio driver. This sample uses a
|
||
step-by-step approach to implement various WDM audio driver features. Each
|
||
feature is implemented as a separate driver and uses the common classes and
|
||
services implemented in root directory. The driver developers can use the same
|
||
framework to implement new features without hardware dependencies.<o:p></o:p></span></p>
|
||
|
||
<p><i><span style='font-size:10.0pt;font-family:Verdana'>CadapterCommon </span></i><span
|
||
style='font-size:10.0pt;font-family:Verdana'>gives the miniports access to
|
||
virtual mixer HW. Also implements the AdapterPowerManagement.<o:p></o:p></span></p>
|
||
|
||
<p><i><span style='font-size:10.0pt;font-family:Verdana'>CMiniportMSVADTopology</span></i><span
|
||
style='font-size:10.0pt;font-family:Verdana'> is the base class for all sample
|
||
topologies. It has very basic common functions. Also common topology property
|
||
handlers are in this class. The common topology is shown in the below graph.<o:p></o:p></span></p>
|
||
|
||
<p><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p>
|
||
|
||
<p><i><span style='font-size:10.0pt;font-family:Verdana'>CMiniportWaveCyclicMSVAD</span></i><span
|
||
style='font-size:10.0pt;font-family:Verdana'> is the base class for all sample
|
||
wave miniports. It has very basic common functions such as property handlers.<o:p></o:p></span></p>
|
||
|
||
<p><i><span style='font-size:10.0pt;font-family:Verdana'>CMiniportWaveCyclicStreamMSVAD</span></i><span
|
||
style='font-size:10.0pt;font-family:Verdana'> is the base class for all sample
|
||
wave streams. It implements a timer-based interrupt mechanism to simulate real
|
||
DMA interrupts. Its <i>IDmaAdapter</i> implementation copies data to memory
|
||
instead of DMA.<o:p></o:p></span></p>
|
||
|
||
<p><span style='font-size:10.0pt;font-family:Verdana'>The following list shows
|
||
the features implemented in this sample.<o:p></o:p></span></p>
|
||
|
||
<table class=MsoNormalTable border=1 cellspacing=0 cellpadding=0
|
||
style='border-collapse:collapse;border:none;mso-border-alt:solid windowtext .5pt;
|
||
mso-padding-alt:0in 5.75pt 0in 5.75pt'>
|
||
<tr style='mso-yfti-irow:0'>
|
||
<td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt;
|
||
mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'>
|
||
<p><b><span style='font-size:10.0pt;font-family:Verdana'>simple<o:p></o:p></span></b></p>
|
||
</td>
|
||
<td width=348 valign=top style='width:261.0pt;border:solid windowtext 1.0pt;
|
||
border-left:none;mso-border-left-alt:solid windowtext .5pt;mso-border-alt:
|
||
solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'>
|
||
<p><span style='font-size:10.0pt;font-family:Verdana'>Basic driver with wavecyc
|
||
and topology ports<o:p></o:p></span></p>
|
||
</td>
|
||
</tr>
|
||
<tr style='mso-yfti-irow:1'>
|
||
<td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt;
|
||
border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
|
||
padding:0in 5.75pt 0in 5.75pt'>
|
||
<p><b><span style='font-size:10.0pt;font-family:Verdana'>multistr<o:p></o:p></span></b></p>
|
||
</td>
|
||
<td width=348 valign=top style='width:261.0pt;border-top:none;border-left:
|
||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
|
||
mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'>
|
||
<p><span style='font-size:10.0pt;font-family:Verdana'>Implements multiple
|
||
playback streams<o:p></o:p></span></p>
|
||
</td>
|
||
</tr>
|
||
<tr style='mso-yfti-irow:2'>
|
||
<td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt;
|
||
border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
|
||
padding:0in 5.75pt 0in 5.75pt'>
|
||
<p><b><span style='font-size:10.0pt;font-family:Verdana'>drmsimp<o:p></o:p></span></b></p>
|
||
</td>
|
||
<td width=348 valign=top style='width:261.0pt;border-top:none;border-left:
|
||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
|
||
mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'>
|
||
<p><span style='font-size:10.0pt;font-family:Verdana'>Implements DRM for <b>simple</b>.<o:p></o:p></span></p>
|
||
</td>
|
||
</tr>
|
||
<tr style='mso-yfti-irow:3'>
|
||
<td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt;
|
||
border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
|
||
padding:0in 5.75pt 0in 5.75pt'>
|
||
<p><b><span style='font-size:10.0pt;font-family:Verdana'>drmmult<o:p></o:p></span></b></p>
|
||
</td>
|
||
<td width=348 valign=top style='width:261.0pt;border-top:none;border-left:
|
||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
|
||
mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'>
|
||
<p><span style='font-size:10.0pt;font-family:Verdana'>Implements DRM for <b>drmsimp</b><o:p></o:p></span></p>
|
||
</td>
|
||
</tr>
|
||
<tr style='mso-yfti-irow:4'>
|
||
<td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt;
|
||
border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
|
||
padding:0in 5.75pt 0in 5.75pt'>
|
||
<p><b><span style='font-size:10.0pt;font-family:Verdana'>pcmex<o:p></o:p></span></b></p>
|
||
</td>
|
||
<td width=348 valign=top style='width:261.0pt;border-top:none;border-left:
|
||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
|
||
mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'>
|
||
<p><span style='font-size:10.0pt;font-family:Verdana'>Implements
|
||
WAVEFORMATEXTENSIBLE pins<o:p></o:p></span></p>
|
||
</td>
|
||
</tr>
|
||
<tr style='mso-yfti-irow:5'>
|
||
<td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt;
|
||
border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
|
||
padding:0in 5.75pt 0in 5.75pt'>
|
||
<p><b><span style='font-size:10.0pt;font-family:Verdana'>ac3<o:p></o:p></span></b></p>
|
||
</td>
|
||
<td width=348 valign=top style='width:261.0pt;border-top:none;border-left:
|
||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
|
||
mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'>
|
||
<p><span style='font-size:10.0pt;font-family:Verdana'>Implements AC3 pins for
|
||
playback<o:p></o:p></span></p>
|
||
</td>
|
||
</tr>
|
||
<tr style='mso-yfti-irow:6;mso-yfti-lastrow:yes'>
|
||
<td width=107 valign=top style='width:80.6pt;border:solid windowtext 1.0pt;
|
||
border-top:none;mso-border-top-alt:solid windowtext .5pt;mso-border-alt:solid windowtext .5pt;
|
||
padding:0in 5.75pt 0in 5.75pt'>
|
||
<p><b><span style='font-size:10.0pt;font-family:Verdana'>ds2dhw<o:p></o:p></span></b></p>
|
||
</td>
|
||
<td width=348 valign=top style='width:261.0pt;border-top:none;border-left:
|
||
none;border-bottom:solid windowtext 1.0pt;border-right:solid windowtext 1.0pt;
|
||
mso-border-top-alt:solid windowtext .5pt;mso-border-left-alt:solid windowtext .5pt;
|
||
mso-border-alt:solid windowtext .5pt;padding:0in 5.75pt 0in 5.75pt'>
|
||
<p><span style='font-size:10.0pt;font-family:Verdana'>Implements DirectSound
|
||
2D HW support.<o:p></o:p></span></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<p><span style='font-size:10.0pt;font-family:Verdana'><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,
|
||
start DDK build environment and run <b>build</b> from this directory.<o:p></o:p></span></p>
|
||
|
||
<p><span style='font-size:10.0pt;font-family:Verdana'>This sample can be
|
||
installed only manually. To install the sample, run Control Panel->Add New
|
||
Hardware Wizard. Select Media Device Category (Sound, video and game
|
||
controllers). Point the wizard to msvad.inf. Setup will give you a list of
|
||
MSVAD derivatives with different features. Select one of the drivers and
|
||
installation should proceed smoothly.<o:p></o:p></span></p>
|
||
|
||
<h3><span style='font-family:Verdana'>DRIVER ISSUES<o:p></o:p></span></h3>
|
||
|
||
<p><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p>
|
||
|
||
<h3><span style='font-family:Verdana'>CODE TOUR<o:p></o:p></span></h3>
|
||
|
||
<h4><span style='font-family:Verdana'>File Manifest<o:p></o:p></span></h4>
|
||
|
||
<pre><u>File<span style='mso-tab-count:2'><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Description<o:p></o:p></u></pre><pre><o:p> </o:p></pre><pre>Adapter.cpp<span
|
||
style='mso-tab-count:1'><EFBFBD><EFBFBD><EFBFBD> </span>Connects the driver with the system</pre><pre>Basedma.cpp<span
|
||
style='mso-tab-count:1'><EFBFBD><EFBFBD><EFBFBD> </span>IDmaChannel implementation</pre><pre>Basetopo.cpp<span
|
||
style='mso-tab-count:1'><EFBFBD><EFBFBD> </span>Base topology class implementation</pre><pre>Basetopo.h<span
|
||
style='mso-tab-count:1'><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Base topology class definition</pre><pre>Basewave.cpp<span
|
||
style='mso-tab-count:1'><EFBFBD><EFBFBD> </span>Base wavecyclic class implementation</pre><pre>Basewave.h<span
|
||
style='mso-tab-count:1'><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Base wavecyclic class definition</pre><pre>Common.cpp<span
|
||
style='mso-tab-count:1'><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Common object used by all miniports</pre><pre>Common.h <span
|
||
style='mso-tab-count:1'><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Header file for the common object</pre><pre>Hw.cpp<span
|
||
style='mso-tab-count:2'><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>HW abstraction of MSVAD</pre><pre>Hw.h<span
|
||
style='mso-tab-count:2'><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>HW class definition</pre><pre>Kshelper.cpp<span
|
||
style='mso-tab-count:1'><EFBFBD><EFBFBD> </span>Kernel Streaming utility function implementations</pre><pre>Kshelper.h<span
|
||
style='mso-tab-count:1'><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Kernel Streaming utility function definitions</pre><pre>Msvad.h<span
|
||
style='mso-tab-count:2'><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Common definitions</pre><pre>Msvad.inf<span
|
||
style='mso-tab-count:1'><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Installation inf for this sample</pre><pre>Msvad.rc<span
|
||
style='mso-tab-count:1'><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Common resource file</pre><pre>Readme.htm<span
|
||
style='mso-tab-count:1'><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>The documentation for this driver (this file)</pre><pre>Savedata.cpp<span
|
||
style='mso-tab-count:1'><EFBFBD><EFBFBD> </span>Writes PCM data to disk.</pre><pre>Savedata.h<span
|
||
style='mso-tab-count:1'><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Definition of CsaveData class.</pre><pre>Sources.inc<span
|
||
style='mso-tab-count:1'><EFBFBD><EFBFBD><EFBFBD> </span>Common sources file included by all sample drivers.</pre><pre><o:p> </o:p></pre>
|
||
|
||
<p align=center style='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'><a
|
||
href="../../../../../../../ntdriverswdmaudiobackplnadapterssb16%22%20l"><span
|
||
style='font-size:10.0pt;font-family:Verdana'>Top of page</span></a><span
|
||
style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></p>
|
||
|
||
<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><span style='font-size:2.0pt;mso-bidi-font-size:12.0pt'><o:p> </o:p></span></p>
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
|
||
<p style='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"'><EFBFBD> Microsoft Corporation
|
||
1999-2000</span><span style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></p>
|
||
|
||
<p class=MsoNormal style='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'><o:p> </o:p></p>
|
||
|
||
</div>
|
||
|
||
</body>
|
||
|
||
</html>
|
||
|