461 lines
22 KiB
HTML
461 lines
22 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="uiosample_files/filelist.xml">
|
|||
|
<title>NDIS connection-less protocol driver sample</title>
|
|||
|
<!--[if gte mso 9]><xml>
|
|||
|
<w:WordDocument>
|
|||
|
<w:SpellingState>Clean</w:SpellingState>
|
|||
|
<w:GrammarState>Clean</w:GrammarState>
|
|||
|
<w:Compatibility>
|
|||
|
<w:UseFELayout/>
|
|||
|
</w:Compatibility>
|
|||
|
<w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
|
|||
|
</w:WordDocument>
|
|||
|
</xml><![endif]-->
|
|||
|
<style>
|
|||
|
<!--
|
|||
|
/* Font Definitions */
|
|||
|
@font-face
|
|||
|
{font-family:Courier;
|
|||
|
panose-1:2 7 4 9 2 2 5 2 4 4;
|
|||
|
mso-font-charset:0;
|
|||
|
mso-generic-font-family:modern;
|
|||
|
mso-font-format:other;
|
|||
|
mso-font-pitch:fixed;
|
|||
|
mso-font-signature:3 0 0 0 1 0;}
|
|||
|
@font-face
|
|||
|
{font-family:SimSun;
|
|||
|
panose-1:2 1 6 0 3 1 1 1 1 1;
|
|||
|
mso-font-alt:SimSun;
|
|||
|
mso-font-charset:134;
|
|||
|
mso-generic-font-family:auto;
|
|||
|
mso-font-pitch:variable;
|
|||
|
mso-font-signature:3 135135232 16 0 262145 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";
|
|||
|
mso-font-alt:"Times New Roman";
|
|||
|
mso-font-charset:0;
|
|||
|
mso-generic-font-family:auto;
|
|||
|
mso-font-pitch:auto;
|
|||
|
mso-font-signature:0 0 0 0 0 0;}
|
|||
|
@font-face
|
|||
|
{font-family:SimSun;
|
|||
|
panose-1:2 1 6 0 3 1 1 1 1 1;
|
|||
|
mso-font-charset:134;
|
|||
|
mso-generic-font-family:auto;
|
|||
|
mso-font-pitch:variable;
|
|||
|
mso-font-signature:3 135135232 16 0 262145 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";
|
|||
|
mso-fareast-font-family:SimSun;
|
|||
|
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";
|
|||
|
mso-fareast-font-family:SimSun;
|
|||
|
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";
|
|||
|
mso-fareast-font-family:SimSun;
|
|||
|
font-weight:bold;}
|
|||
|
p.MsoBodyText, li.MsoBodyText, div.MsoBodyText
|
|||
|
{margin:0in;
|
|||
|
margin-bottom:.0001pt;
|
|||
|
mso-pagination:widow-orphan;
|
|||
|
font-size:10.0pt;
|
|||
|
font-family:Verdana;
|
|||
|
mso-fareast-font-family:"Times New Roman";
|
|||
|
mso-bidi-font-family:"Times New Roman";}
|
|||
|
a:link, span.MsoHyperlink
|
|||
|
{color:blue;
|
|||
|
text-decoration:underline;
|
|||
|
text-underline:single;}
|
|||
|
a:visited, span.MsoHyperlinkFollowed
|
|||
|
{color:blue;
|
|||
|
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;}
|
|||
|
/* List Definitions */
|
|||
|
@list l0
|
|||
|
{mso-list-id:460344179;
|
|||
|
mso-list-type:hybrid;
|
|||
|
mso-list-template-ids:1661754128 -1479363788 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
|
|||
|
@list l0:level1
|
|||
|
{mso-level-tab-stop:.75in;
|
|||
|
mso-level-number-position:left;
|
|||
|
margin-left:.75in;
|
|||
|
text-indent:-.25in;}
|
|||
|
@list l0:level2
|
|||
|
{mso-level-tab-stop:1.0in;
|
|||
|
mso-level-number-position:left;
|
|||
|
text-indent:-.25in;}
|
|||
|
@list l0:level3
|
|||
|
{mso-level-tab-stop:1.5in;
|
|||
|
mso-level-number-position:left;
|
|||
|
text-indent:-.25in;}
|
|||
|
@list l0:level4
|
|||
|
{mso-level-tab-stop:2.0in;
|
|||
|
mso-level-number-position:left;
|
|||
|
text-indent:-.25in;}
|
|||
|
@list l0:level5
|
|||
|
{mso-level-tab-stop:2.5in;
|
|||
|
mso-level-number-position:left;
|
|||
|
text-indent:-.25in;}
|
|||
|
@list l0:level6
|
|||
|
{mso-level-tab-stop:3.0in;
|
|||
|
mso-level-number-position:left;
|
|||
|
text-indent:-.25in;}
|
|||
|
@list l0:level7
|
|||
|
{mso-level-tab-stop:3.5in;
|
|||
|
mso-level-number-position:left;
|
|||
|
text-indent:-.25in;}
|
|||
|
@list l0:level8
|
|||
|
{mso-level-tab-stop:4.0in;
|
|||
|
mso-level-number-position:left;
|
|||
|
text-indent:-.25in;}
|
|||
|
@list l0:level9
|
|||
|
{mso-level-tab-stop:4.5in;
|
|||
|
mso-level-number-position:left;
|
|||
|
text-indent:-.25in;}
|
|||
|
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=blue style='tab-interval:.5in'>
|
|||
|
|
|||
|
<div class=Section1>
|
|||
|
|
|||
|
<h2><span style='font-family:Verdana'>NDIS User mode I/O Protocol<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
|
|||
|
a connection-less NDIS 5.0/5.1 protocol driver. The driver supports sending and
|
|||
|
receiving raw Ethernet frames using <span class=SpellE>ReadFile/WriteFile</span>
|
|||
|
calls from user-mode. It only receives frames with a specific (run-time
|
|||
|
configurable) <span class=SpellE>EtherType</span> field. As an NDIS protocol,
|
|||
|
it illustrates how to establish and tear down bindings to Ethernet adapters,
|
|||
|
i.e. those that export medium type <i>NdisMedium802_3</i>. It shows how to set
|
|||
|
a packet filter, send and receive data, and handle plug-and-play events. It
|
|||
|
also shows use of the following NDIS 5.1 features/APIs:<o:p></o:p></span></p>
|
|||
|
|
|||
|
<p style='margin-left:.75in;text-indent:-.25in;mso-list:l0 level1 lfo2;
|
|||
|
tab-stops:list .75in'><![if !supportLists]><span style='font-size:10.0pt;
|
|||
|
font-family:Verdana;mso-fareast-font-family:Verdana;mso-bidi-font-family:Verdana'><span
|
|||
|
style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'>
|
|||
|
</span></span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Canceling
|
|||
|
sends<o:p></o:p></span></p>
|
|||
|
|
|||
|
<p style='margin-left:.75in;text-indent:-.25in;mso-list:l0 level1 lfo2;
|
|||
|
tab-stops:list .75in'><![if !supportLists]><span style='font-size:10.0pt;
|
|||
|
font-family:Verdana;mso-fareast-font-family:Verdana;mso-bidi-font-family:Verdana'><span
|
|||
|
style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'>
|
|||
|
</span></span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>NdisQueryPendingIOCount()<o:p></o:p></span></p>
|
|||
|
|
|||
|
<p><span style='font-size:10.0pt;font-family:Verdana'>The sample works on
|
|||
|
Windows 2000, 32-bit and 64-bit platforms, and Windows XP. Both checked and
|
|||
|
free builds are available.<o:p></o:p></span></p>
|
|||
|
|
|||
|
<h3><span style='font-family:Verdana'>BUILDING THE SAMPLE<o:p></o:p></span></h3>
|
|||
|
|
|||
|
<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>From the
|
|||
|
Free or Checked Build environment, execute <b>build</b> in the <span
|
|||
|
class=SpellE>ndisuio</span> directory. <o:p></o:p></span></p>
|
|||
|
|
|||
|
<h3><span style='font-family:Verdana'>INSTALLATION<o:p></o:p></span></h3>
|
|||
|
|
|||
|
<p><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Verdana'>This
|
|||
|
step can be omitted on Windows XP where this driver is installed by default, as
|
|||
|
a hidden protocol. <b style='mso-bidi-font-weight:normal'>NOTE </b>that the
|
|||
|
functionality present in the in-build version of NDISUIO on Windows XP is
|
|||
|
subject to change. Developers should not assume availability of this
|
|||
|
functionality for user-mode applications on Windows XP.</span></p>
|
|||
|
|
|||
|
<p><span style='font-size:10.0pt;font-family:Verdana'>The driver is installed
|
|||
|
using the INF file ndisuio.inf, which is provided in the driver directory. In
|
|||
|
Network Connections UI, select an adapter and open <b>Properties</b>.<o:p></o:p></span></p>
|
|||
|
|
|||
|
<p><span style='font-size:10.0pt;font-family:Verdana'>Click <b>Install</b>,
|
|||
|
then <b>Protocol</b>, then <b>Add</b>, and then <b>Have disk</b>. Then point to
|
|||
|
the location of the .inf and driver.<o:p></o:p></span></p>
|
|||
|
|
|||
|
<p><span style='font-size:10.0pt;font-family:Verdana'>Select <b>NDIS Usermode
|
|||
|
I/O Protocol </b>and click <b>OK</b>. After installing the protocol, copy over
|
|||
|
the test application uiotest.exe to a convenient location.<o:p></o:p></span></p>
|
|||
|
|
|||
|
<h3><span style='font-family:Verdana'>USAGE<o:p></o:p></span></h3>
|
|||
|
|
|||
|
<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>To start
|
|||
|
the driver, type<o:p></o:p></span></p>
|
|||
|
|
|||
|
<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><span
|
|||
|
style='mso-tab-count:1'><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Net start ndisuio<o:p></o:p></span></p>
|
|||
|
|
|||
|
<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p>
|
|||
|
|
|||
|
<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>To stop
|
|||
|
the driver, type<o:p></o:p></span></p>
|
|||
|
|
|||
|
<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><span
|
|||
|
style='mso-tab-count:1'><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Net stop ndisuio<o:p></o:p></span></p>
|
|||
|
|
|||
|
<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p>
|
|||
|
|
|||
|
<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>To test
|
|||
|
the driver, run uiotest. For help on usage, run uiotest -?<o:p></o:p></span></p>
|
|||
|
|
|||
|
<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p>
|
|||
|
|
|||
|
<pre style='margin-left:.5in'>usage: UIOTEST [options] <devicename></pre><pre
|
|||
|
style='margin-left:.5in'>options:</pre><pre style='margin-left:.5in'><span style='mso-spacerun:yes'><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>-e: Enumerate devices</pre><pre
|
|||
|
style='margin-left:.5in'><span style='mso-spacerun:yes'><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>-r: Read</pre><pre
|
|||
|
style='margin-left:.5in'><span style='mso-spacerun:yes'><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>-w: Write (default)</pre><pre
|
|||
|
style='margin-left:.5in'><span style='mso-spacerun:yes'><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>-l <length>: length of each packet (default: 100)</pre><pre
|
|||
|
style='margin-left:.5in'><span style='mso-spacerun:yes'><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>-n <count>: number of packets (defaults to infinity)</pre><pre
|
|||
|
style='margin-left:.5in'><span style='mso-spacerun:yes'><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>-m <MAC address> (defaults to local MAC)</pre>
|
|||
|
|
|||
|
<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'><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'><span
|
|||
|
style='font-size:10.0pt;font-family:Verdana'>Uiotest exercises the IOCTLs
|
|||
|
supported by NDISUIO, and sends and/or receives data on the selected device. In
|
|||
|
order to use uiotest, the user must have administrative privilege.<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'><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'><b
|
|||
|
style='mso-bidi-font-weight:normal'><span style='font-size:10.0pt;font-family:
|
|||
|
Verdana'>NOTE</span></b><span style='font-size:10.0pt;font-family:Verdana'>: On
|
|||
|
Windows XP, uiotest may fail to access devices since other processes could have
|
|||
|
open handles to NDISUIO for those devices. To work around this, stop and
|
|||
|
restart NDISUIO as shown above. You will be prompted to stop services that
|
|||
|
depend on NDISUIO as well.<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'><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'><span
|
|||
|
style='font-size:10.0pt;font-family:Verdana'>Use the <20>e option to enumerate all
|
|||
|
devices to which NDISUIO is bound:<o:p></o:p></span></p>
|
|||
|
|
|||
|
<pre style='margin-left:.5in'>C:\uio>uiotest -e</pre><pre style='margin-left:
|
|||
|
.5in'> 0. \DEVICE\{9273DA7D-5275-4B9A-AC56-68A49D121F1F}</pre><pre
|
|||
|
style='margin-left:.5in'><span style='mso-spacerun:yes'><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>- Intel-Based 10/100 Ethernet Card</pre>
|
|||
|
|
|||
|
<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'><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'><span
|
|||
|
style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Verdana'>The
|
|||
|
following command sends and receives 2 packets on a device</span><span
|
|||
|
style='font-size:10.0pt;font-family:Verdana'>). Since these packets are sent to
|
|||
|
the local MAC address (default), both packets are received.</span><span
|
|||
|
style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Verdana'> The
|
|||
|
device name parameter to uiotest is picked up from the output of uiotest <20>e
|
|||
|
(see above).<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'><span
|
|||
|
style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p>
|
|||
|
|
|||
|
<pre style='margin-left:.5in'>C:\uio>uiotest -n 2 \DEVICE\{9273DA7D-5275-4B9A-AC56-68A49D121F1F}</pre><pre
|
|||
|
style='margin-left:.5in'>DoWriteProc: finished sending 2 packets of 100 bytes each</pre><pre
|
|||
|
style='margin-left:.5in'>DoReadProc finished: read 2 packets</pre>
|
|||
|
|
|||
|
<h3 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-family:Verdana'>TIPS<o:p></o:p></span></h3>
|
|||
|
|
|||
|
<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'><span
|
|||
|
style='font-size:10.0pt;font-family:Verdana'>With a checked version of
|
|||
|
ndisuio.sys, you can control the volume of debug information generated by
|
|||
|
changing the variable ndisuioDebugLevel. Refer to debug.h for more information.
|
|||
|
<o:p></o:p></span></p>
|
|||
|
|
|||
|
<h3 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-family:Verdana'>CODE TOUR<o:p></o:p></span></h3>
|
|||
|
|
|||
|
<h4 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-family:Verdana'>File Manifest<o:p></o:p></span></h4>
|
|||
|
|
|||
|
<pre><b><span style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>Directory: Test</span></b><span
|
|||
|
style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><br
|
|||
|
style='mso-special-character:line-break'>
|
|||
|
<![if !supportLineBreakNewLine]><br style='mso-special-character:line-break'>
|
|||
|
<![endif]><o:p></o:p></span></pre><pre><span style='font-size:9.0pt;mso-bidi-font-size:
|
|||
|
7.5pt;font-family:Courier'><o:p> </o:p></span></pre><pre><u><span
|
|||
|
style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>File</span></u><span
|
|||
|
style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><span
|
|||
|
style='mso-tab-count:2'><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span><u>Description</u><span
|
|||
|
style='mso-tab-count:1'><3E><><EFBFBD><EFBFBD><EFBFBD> </span><o:p></o:p></span></pre><pre><span
|
|||
|
style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>uiotest.c<span
|
|||
|
style='mso-tab-count:1'><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>User-mode test application<o:p></o:p></span></pre><pre><span
|
|||
|
style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><o:p> </o:p></span></pre><pre><span
|
|||
|
style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><o:p> </o:p></span></pre><pre><b><span
|
|||
|
style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>Directory: Sys</span></b><span
|
|||
|
style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><br
|
|||
|
style='mso-special-character:line-break'>
|
|||
|
<![if !supportLineBreakNewLine]><br style='mso-special-character:line-break'>
|
|||
|
<![endif]><o:p></o:p></span></pre><pre><span style='font-size:9.0pt;mso-bidi-font-size:
|
|||
|
7.5pt;font-family:Courier'><o:p> </o:p></span></pre><pre><u><span
|
|||
|
style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>File</span></u><span
|
|||
|
style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><span
|
|||
|
style='mso-tab-count:2'><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span><u>Description</u><span
|
|||
|
style='mso-tab-count:1'><3E><><EFBFBD><EFBFBD><EFBFBD> </span><o:p></o:p></span></pre><pre><span
|
|||
|
style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>debug.c<span
|
|||
|
style='mso-tab-count:2'><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Routines to aid debugging<o:p></o:p></span></pre><pre><span
|
|||
|
style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>debug.h<span
|
|||
|
style='mso-tab-count:2'><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Debug macro definitions<o:p></o:p></span></pre><pre><span
|
|||
|
style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>macros.h<span
|
|||
|
style='mso-tab-count:2'><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Spinlock, event, referencing macros<o:p></o:p></span></pre><pre><span
|
|||
|
class=SpellE><span class=GramE><span style='font-size:9.0pt;mso-bidi-font-size:
|
|||
|
7.5pt;font-family:Courier'>ndisbind.c</span></span></span><span
|
|||
|
style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><span
|
|||
|
style='mso-tab-count:1'><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>NDIS protocol entry points to handle binding/unbinding from adapters<o:p></o:p></span></pre><pre><span
|
|||
|
class=SpellE><span class=GramE><span style='font-size:9.0pt;mso-bidi-font-size:
|
|||
|
7.5pt;font-family:Courier'>ndisuio.h</span></span></span><span
|
|||
|
style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><span
|
|||
|
style='mso-tab-count:1'><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>Data structure definitions<o:p></o:p></span></pre><pre><span
|
|||
|
class=SpellE><span class=GramE><span style='font-size:9.0pt;mso-bidi-font-size:
|
|||
|
7.5pt;font-family:Courier'>ndisuio.inf</span></span></span><span
|
|||
|
style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><span
|
|||
|
style='mso-tab-count:1'><3E><><EFBFBD><EFBFBD><EFBFBD> </span>INF file for installing NDISUIO<o:p></o:p></span></pre><pre><span
|
|||
|
class=SpellE><span class=GramE><span style='font-size:9.0pt;mso-bidi-font-size:
|
|||
|
7.5pt;font-family:Courier'>ntdisp.c</span></span></span><span style='font-size:
|
|||
|
9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><span style='mso-tab-count:
|
|||
|
2'><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>NT Entry points and dispatch routines for NDISUIO<o:p></o:p></span></pre><pre><span
|
|||
|
class=SpellE><span class=GramE><span style='font-size:9.0pt;mso-bidi-font-size:
|
|||
|
7.5pt;font-family:Courier'>nuiouser.h</span></span></span><span
|
|||
|
style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><span
|
|||
|
style='mso-tab-count:1'><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>IOCTL and associated structure definitions<o:p></o:p></span></pre><pre><span
|
|||
|
class=SpellE><span class=GramE><span style='font-size:9.0pt;mso-bidi-font-size:
|
|||
|
7.5pt;font-family:Courier'>recv.c</span></span></span><span style='font-size:
|
|||
|
9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><span style='mso-tab-count:
|
|||
|
2'><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>NDIS protocol entry points for receiving data, and IRP_MJ_READ processing<o:p></o:p></span></pre><pre><span
|
|||
|
class=SpellE><span class=GramE><span style='font-size:9.0pt;mso-bidi-font-size:
|
|||
|
7.5pt;font-family:Courier'>send.c</span></span></span><span style='font-size:
|
|||
|
9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><span style='mso-tab-count:
|
|||
|
2'><3E><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> </span>NDIS protocol routines for sending data, and IRP_MJ_WRITE processing<o:p></o:p></span></pre><pre><span
|
|||
|
style='font-size:7.5pt;font-family:Courier'><o:p> </o:p></span></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'><span
|
|||
|
style='font-size:10.0pt;font-family:Verdana'><a href="#top">Top of page</a> <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><o:p> </o:p></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"'><3E> Microsoft Corporation
|
|||
|
2000</span><span style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></p>
|
|||
|
|
|||
|
</div>
|
|||
|
|
|||
|
</body>
|
|||
|
|
|||
|
</html>
|