diff options
| author | Barry Golden <[email protected]> | 2015-08-06 20:06:07 -0700 |
|---|---|---|
| committer | Barry Golden <[email protected]> | 2015-08-06 20:06:07 -0700 |
| commit | 9026073a419b5ef68fb46d4f7fae52dbef09dbe1 (patch) | |
| tree | b81f73f650af9ac82a7e8739e989456f6e192b37 /network | |
| parent | bd17fd844b4f074821b9d4c7bc86b9dc7f0e4a59 (diff) | |
Remove obsolete readme.htm files
Diffstat (limited to 'network')
| -rw-r--r-- | network/config/bindview/bindview.htm | 345 | ||||
| -rw-r--r-- | network/modem/fakemodem/fakemodem.htm | 926 | ||||
| -rw-r--r-- | network/ndis/filter/filter.htm | 152 | ||||
| -rw-r--r-- | network/ndis/mux/driver/60/mux.htm | 617 | ||||
| -rw-r--r-- | network/ndis/mux/notifyob/notify.htm | 552 | ||||
| -rw-r--r-- | network/ndis/ndisprot/6x/ndisprot.htm | 393 | ||||
| -rw-r--r-- | network/ndis/ndisprot_kmdf/ndisprot.htm | 197 |
7 files changed, 0 insertions, 3182 deletions
diff --git a/network/config/bindview/bindview.htm b/network/config/bindview/bindview.htm deleted file mode 100644 index c28f6190..00000000 --- a/network/config/bindview/bindview.htm +++ /dev/null @@ -1,345 +0,0 @@ -<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 11"> -<meta name=Originator content="Microsoft Word 11"> -<link rel=File-List href="bindview_files/filelist.xml"> -<title>BINDVIEW: Network Configuration/Installation Sample</title> -<!--[if gte mso 9]><xml> - <w:WordDocument> - <w:SpellingState>Clean</w:SpellingState> - <w:GrammarState>Clean</w:GrammarState> - <w:ValidateAgainstSchemas/> - <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> - <w:IgnoreMixedContent>false</w:IgnoreMixedContent> - <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> - <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> - </w:WordDocument> -</xml><![endif]--><!--[if gte mso 9]><xml> - <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> - </w:LatentStyles> -</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";} -h1 - {mso-style-next:Normal; - margin:0in; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - page-break-after:avoid; - mso-outline-level:1; - font-size:10.0pt; - font-family:Verdana; - mso-font-kerning:0pt; - font-weight:bold;} -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: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:149904795; - mso-list-type:hybrid; - mso-list-template-ids:2069783722 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} -@list l0:level1 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:.5in; - mso-level-number-position:left; - text-indent:-.25in; - font-family:Symbol;} -@list l0:level2 - {mso-level-number-format:bullet; - mso-level-text:o; - mso-level-tab-stop:1.0in; - mso-level-number-position:left; - text-indent:-.25in; - font-family:"Courier New";} -@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;} -@list l1 - {mso-list-id:1493059929; - mso-list-template-ids:703913330;} -@list l1:level1 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:.5in; - mso-level-number-position:left; - text-indent:-.25in; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l1:level2 - {mso-level-number-format:bullet; - mso-level-text:o; - mso-level-tab-stop:1.0in; - mso-level-number-position:left; - text-indent:-.25in; - mso-ansi-font-size:10.0pt; - font-family:"Courier New"; - mso-bidi-font-family:"Times New Roman";} -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"; - mso-ansi-language:#0400; - mso-fareast-language:#0400; - mso-bidi-language:#0400;} -</style> -<![endif]--> -</head> - -<body lang=EN-US link=blue vlink=blue style='tab-interval:.5in'> - -<div class=Section1> - -<h2><a name="_top"></a><span style='font-family:Verdana'>BINDVIEW: Network -Configuration/Installation Sample<o:p></o:p></span></h2> - -<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 -how to use <span class=SpellE>INetCfg</span> APIs to enumerate, install, -uninstall, bind and unbind network components.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The sample compiles -properly for 64-bit systems and builds properly with Microsoft� Visual C� 6.0. <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 the sample, <span -class=GramE>type <b>build</b></span>. This command produces the binary -bindview.exe.<o:p></o:p></span></p> - -<h3><span style='font-family:Verdana'>INSTALLING THE SAMPLE<o:p></o:p></span></h3> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Copy the -binary bindview.exe to the directory from which you want to run the sample. <o:p></o:p></span></p> - -<h3><span style='font-family:Verdana'>RUNNING THE SAMPLE<o:p></o:p></span></h3> - -<p class=MsoNormal><span class=GramE><span style='font-size:10.0pt;font-family: -Verdana'>Type bindview.exe at the command prompt to run the program.</span></span><span -style='font-size:10.0pt;font-family:Verdana'> You can perform the following -operations.<o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p> </o:p></span></p> - -<ul style='margin-top:0in' type=disc> - <li class=MsoNormal style='mso-list:l0 level1 lfo3;tab-stops:list .5in'><span - style='font-size:10.0pt;font-family:Verdana'>Install a network protocol, - service or client component.<o:p></o:p></span></li> - <li class=MsoNormal style='mso-list:l0 level1 lfo3;tab-stops:list .5in'><span - style='font-size:10.0pt;font-family:Verdana'>Uninstall a network protocol, - service or client component.<o:p></o:p></span></li> - <li class=MsoNormal style='mso-list:l0 level1 lfo3;tab-stops:list .5in'><span - style='font-size:10.0pt;font-family:Verdana'>By clicking the right mouse - button on a network protocol, service or client, you can perform the - following operations.<o:p></o:p></span></li> - <ul style='margin-top:0in' type=circle> - <li class=MsoNormal style='mso-list:l0 level2 lfo3;tab-stops:list 1.0in'><span - style='font-size:10.0pt;font-family:Verdana'>Bind the network component - to another component.<o:p></o:p></span></li> - <li class=MsoNormal style='mso-list:l0 level2 lfo3;tab-stops:list 1.0in'><span - style='font-size:10.0pt;font-family:Verdana'>Unbind the network component - from another component that is bound to it.<o:p></o:p></span></li> - </ul> - <li class=MsoNormal style='mso-list:l0 level1 lfo3;tab-stops:list .5in'><span - style='font-size:10.0pt;font-family:Verdana'>By clicking the right mouse - button on a binding path, you can perform the following operations.<o:p></o:p></span></li> - <ul style='margin-top:0in' type=circle> - <li class=MsoNormal style='mso-list:l0 level2 lfo3;tab-stops:list 1.0in'><span - style='font-size:10.0pt;font-family:Verdana'>Disable the binding path if - it is enabled.<o:p></o:p></span></li> - <li class=MsoNormal style='mso-list:l0 level2 lfo3;tab-stops:list 1.0in'><span - style='font-size:10.0pt;font-family:Verdana'>Enable the binding path if - it is disabled.<o:p></o:p></span></li> - </ul> - <li class=MsoNormal style='mso-list:l0 level1 lfo3;tab-stops:list .5in'><span - style='font-size:10.0pt;font-family:Verdana'>Save the binding information - to a file.<o:p></o:p></span></li> -</ul> - -<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'>���������� </span>Description<o:p></o:p></u></pre><pre><span -style='text-transform:uppercase'>BINDVIEW.CPP</span><span style='mso-tab-count: -1'>�� </span>Contains <span class=SpellE>WinMain</span> and dialog box related functions.</pre><pre><span -style='text-transform:uppercase'>NetCfgAPI.cpp</span><span style='mso-tab-count: -1'>� </span>Contains <span class=SpellE>INetCfg</span> functions.</pre><pre>BINDING.CPP<span -style='mso-tab-count:1'>��� </span>Contains binding path related functions. </pre><pre><span -style='text-transform:uppercase'>Component.cpp</span><span style='mso-tab-count: -1'>� </span>Contains network component related functions.</pre><pre><span -class=GramE>RESOURCE.H<span style='mso-tab-count:1'>���� </span>Resource header.</span></pre><pre>BINDVIEW.H<span -style='mso-tab-count:1'>���� </span>Contains function prototypes.</pre><pre><span -style='text-transform:uppercase'>NetCfgAPI.h</span><span style='mso-tab-count: -1'>��� </span>Contains function prototypes for <span class=SpellE>NetCfgAPI.cpp</span></pre><pre><span -style='text-transform:uppercase'>BindView.rc</span><span style='mso-tab-count: -1'>��� </span>Resources for <span class=SpellE>Bindview</span></pre><pre><span -class=GramE><span style='text-transform:uppercase'>BindView.ico</span><span -style='mso-tab-count:1'>�� </span>Icon for the sample.</span></pre><pre><o:p> </o:p></pre><pre><o:p> </o:p></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="#_top"><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-firstrow:yes;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"'>� 2004</span><span -style='font-size:10.0pt;font-family:Verdana'> </span><span style='font-size: -7.5pt;font-family:"MS Sans Serif"'>Microsoft Corporation </span><span -style='font-size:10.0pt;font-family:Verdana'><o:p></o:p></span></p> - -</div> - -</body> - -</html> diff --git a/network/modem/fakemodem/fakemodem.htm b/network/modem/fakemodem/fakemodem.htm deleted file mode 100644 index add195f7..00000000 --- a/network/modem/fakemodem/fakemodem.htm +++ /dev/null @@ -1,926 +0,0 @@ -<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:m="http://schemas.microsoft.com/office/2004/12/omml" -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 12"> -<meta name=Originator content="Microsoft Word 12"> -<title>UNIMODEM sample controller-less modem driver (fakemodem)</title> -<link rel=themeData href="fakemodem_files/themedata.thmx"> -<link rel=colorSchemeMapping href="fakemodem_files/colorschememapping.xml"> -<!--[if gte mso 9]><xml> - <w:WordDocument> - <w:SpellingState>Clean</w:SpellingState> - <w:GrammarState>Clean</w:GrammarState> - <w:TrackMoves>false</w:TrackMoves> - <w:TrackFormatting/> - <w:ValidateAgainstSchemas/> - <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> - <w:IgnoreMixedContent>false</w:IgnoreMixedContent> - <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> - <w:DoNotPromoteQF/> - <w:LidThemeOther>EN-US</w:LidThemeOther> - <w:LidThemeAsian>X-NONE</w:LidThemeAsian> - <w:LidThemeComplexScript>X-NONE</w:LidThemeComplexScript> - <w:Compatibility> - <w:BreakWrappedTables/> - <w:SnapToGridInCell/> - <w:WrapTextWithPunct/> - <w:UseAsianBreakRules/> - <w:DontGrowAutofit/> - <w:SplitPgBreakAndParaMark/> - <w:DontVertAlignCellWithSp/> - <w:DontBreakConstrainedForcedTables/> - <w:DontVertAlignInTxbx/> - <w:Word11KerningPairs/> - <w:CachedColBalance/> - </w:Compatibility> - <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> - <m:mathPr> - <m:mathFont m:val="Cambria Math"/> - <m:brkBin m:val="before"/> - <m:brkBinSub m:val="--"/> - <m:smallFrac m:val="off"/> - <m:dispDef/> - <m:lMargin m:val="0"/> - <m:rMargin m:val="0"/> - <m:defJc m:val="centerGroup"/> - <m:wrapIndent m:val="1440"/> - <m:intLim m:val="subSup"/> - <m:naryLim m:val="undOvr"/> - </m:mathPr></w:WordDocument> -</xml><![endif]--><!--[if gte mso 9]><xml> - <w:LatentStyles DefLockedState="false" DefUnhideWhenUsed="false" - DefSemiHidden="false" DefQFormat="false" LatentStyleCount="267"> - <w:LsdException Locked="false" QFormat="true" Name="Normal"/> - <w:LsdException Locked="false" QFormat="true" Name="heading 1"/> - <w:LsdException Locked="false" QFormat="true" Name="heading 2"/> - <w:LsdException Locked="false" QFormat="true" Name="heading 3"/> - <w:LsdException Locked="false" QFormat="true" Name="heading 4"/> - <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" - QFormat="true" Name="heading 5"/> - <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" - QFormat="true" Name="heading 6"/> - <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" - QFormat="true" Name="heading 7"/> - <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" - QFormat="true" Name="heading 8"/> - <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" - QFormat="true" Name="heading 9"/> - <w:LsdException Locked="false" SemiHidden="true" UnhideWhenUsed="true" - QFormat="true" Name="caption"/> - <w:LsdException Locked="false" QFormat="true" Name="Title"/> - <w:LsdException Locked="false" Priority="1" Name="Default Paragraph Font"/> - <w:LsdException Locked="false" QFormat="true" Name="Subtitle"/> - <w:LsdException Locked="false" QFormat="true" Name="Strong"/> - <w:LsdException Locked="false" QFormat="true" Name="Emphasis"/> - <w:LsdException Locked="false" Priority="99" Name="No List"/> - <w:LsdException Locked="false" Priority="99" SemiHidden="true" - Name="Placeholder Text"/> - <w:LsdException Locked="false" Priority="1" QFormat="true" Name="No Spacing"/> - <w:LsdException Locked="false" Priority="60" Name="Light Shading"/> - <w:LsdException Locked="false" Priority="61" Name="Light List"/> - <w:LsdException Locked="false" Priority="62" Name="Light Grid"/> - <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1"/> - <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2"/> - <w:LsdException Locked="false" Priority="65" Name="Medium List 1"/> - <w:LsdException Locked="false" Priority="66" Name="Medium List 2"/> - <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1"/> - <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2"/> - <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3"/> - <w:LsdException Locked="false" Priority="70" Name="Dark List"/> - <w:LsdException Locked="false" Priority="71" Name="Colorful Shading"/> - <w:LsdException Locked="false" Priority="72" Name="Colorful List"/> - <w:LsdException Locked="false" Priority="73" Name="Colorful Grid"/> - <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 1"/> - <w:LsdException Locked="false" Priority="61" Name="Light List Accent 1"/> - <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 1"/> - <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 1"/> - <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 1"/> - <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 1"/> - <w:LsdException Locked="false" Priority="99" SemiHidden="true" Name="Revision"/> - <w:LsdException Locked="false" Priority="34" QFormat="true" - Name="List Paragraph"/> - <w:LsdException Locked="false" Priority="29" QFormat="true" Name="Quote"/> - <w:LsdException Locked="false" Priority="30" QFormat="true" - Name="Intense Quote"/> - <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 1"/> - <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 1"/> - <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 1"/> - <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 1"/> - <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 1"/> - <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 1"/> - <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 1"/> - <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 1"/> - <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 2"/> - <w:LsdException Locked="false" Priority="61" Name="Light List Accent 2"/> - <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 2"/> - <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 2"/> - <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 2"/> - <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 2"/> - <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 2"/> - <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 2"/> - <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 2"/> - <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 2"/> - <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 2"/> - <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 2"/> - <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 2"/> - <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 2"/> - <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 3"/> - <w:LsdException Locked="false" Priority="61" Name="Light List Accent 3"/> - <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 3"/> - <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 3"/> - <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 3"/> - <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 3"/> - <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 3"/> - <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 3"/> - <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 3"/> - <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 3"/> - <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 3"/> - <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 3"/> - <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 3"/> - <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 3"/> - <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 4"/> - <w:LsdException Locked="false" Priority="61" Name="Light List Accent 4"/> - <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 4"/> - <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 4"/> - <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 4"/> - <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 4"/> - <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 4"/> - <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 4"/> - <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 4"/> - <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 4"/> - <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 4"/> - <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 4"/> - <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 4"/> - <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 4"/> - <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 5"/> - <w:LsdException Locked="false" Priority="61" Name="Light List Accent 5"/> - <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 5"/> - <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 5"/> - <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 5"/> - <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 5"/> - <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 5"/> - <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 5"/> - <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 5"/> - <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 5"/> - <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 5"/> - <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 5"/> - <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 5"/> - <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 5"/> - <w:LsdException Locked="false" Priority="60" Name="Light Shading Accent 6"/> - <w:LsdException Locked="false" Priority="61" Name="Light List Accent 6"/> - <w:LsdException Locked="false" Priority="62" Name="Light Grid Accent 6"/> - <w:LsdException Locked="false" Priority="63" Name="Medium Shading 1 Accent 6"/> - <w:LsdException Locked="false" Priority="64" Name="Medium Shading 2 Accent 6"/> - <w:LsdException Locked="false" Priority="65" Name="Medium List 1 Accent 6"/> - <w:LsdException Locked="false" Priority="66" Name="Medium List 2 Accent 6"/> - <w:LsdException Locked="false" Priority="67" Name="Medium Grid 1 Accent 6"/> - <w:LsdException Locked="false" Priority="68" Name="Medium Grid 2 Accent 6"/> - <w:LsdException Locked="false" Priority="69" Name="Medium Grid 3 Accent 6"/> - <w:LsdException Locked="false" Priority="70" Name="Dark List Accent 6"/> - <w:LsdException Locked="false" Priority="71" Name="Colorful Shading Accent 6"/> - <w:LsdException Locked="false" Priority="72" Name="Colorful List Accent 6"/> - <w:LsdException Locked="false" Priority="73" Name="Colorful Grid Accent 6"/> - <w:LsdException Locked="false" Priority="19" QFormat="true" - Name="Subtle Emphasis"/> - <w:LsdException Locked="false" Priority="21" QFormat="true" - Name="Intense Emphasis"/> - <w:LsdException Locked="false" Priority="31" QFormat="true" - Name="Subtle Reference"/> - <w:LsdException Locked="false" Priority="32" QFormat="true" - Name="Intense Reference"/> - <w:LsdException Locked="false" Priority="33" QFormat="true" Name="Book Title"/> - <w:LsdException Locked="false" Priority="37" SemiHidden="true" - UnhideWhenUsed="true" Name="Bibliography"/> - <w:LsdException Locked="false" Priority="39" SemiHidden="true" - UnhideWhenUsed="true" QFormat="true" Name="TOC Heading"/> - </w:LatentStyles> -</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:"Cambria Math"; - panose-1:2 4 5 3 5 4 6 3 2 4; - mso-font-charset:0; - mso-generic-font-family:roman; - mso-font-pitch:variable; - mso-font-signature:-1610611985 1107304683 0 0 415 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:-1593833729 1073750107 16 0 415 0;} -@font-face - {font-family:Consolas; - panose-1:2 11 6 9 2 2 4 3 2 4; - mso-font-charset:0; - mso-generic-font-family:modern; - mso-font-pitch:fixed; - mso-font-signature:-520092929 1073806591 9 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-unhide:no; - mso-style-qformat:yes; - mso-style-parent:""; - margin:0in; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:12.0pt; - font-family:"Times New Roman","serif"; - mso-fareast-font-family:"Times New Roman";} -h2 - {mso-style-unhide:no; - mso-style-qformat:yes; - mso-style-link:"Heading 2 Char"; - 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","serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - font-weight:bold;} -h3 - {mso-style-unhide:no; - mso-style-qformat:yes; - mso-style-link:"Heading 3 Char"; - 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","serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - font-weight:bold;} -h4 - {mso-style-unhide:no; - mso-style-qformat:yes; - mso-style-link:"Heading 4 Char"; - 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","serif"; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:minor-fareast; - font-weight:bold;} -p.MsoBodyText, li.MsoBodyText, div.MsoBodyText - {mso-style-unhide:no; - mso-style-link:"Body Text Char"; - margin:0in; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - font-size:10.0pt; - font-family:"Verdana","sans-serif"; - mso-fareast-font-family:"Times New Roman"; - mso-bidi-font-family:"Times New Roman";} -a:link, span.MsoHyperlink - {mso-style-unhide:no; - color:blue; - text-decoration:underline; - text-underline:single;} -a:visited, span.MsoHyperlinkFollowed - {mso-style-unhide:no; - color:blue; - text-decoration:underline; - text-underline:single;} -p - {mso-style-unhide:no; - 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","serif"; - mso-fareast-font-family:"Times New Roman";} -pre - {mso-style-unhide:no; - mso-style-link:"HTML Preformatted Char"; - 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.Heading2Char - {mso-style-name:"Heading 2 Char"; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Heading 2"; - mso-ansi-font-size:13.0pt; - mso-bidi-font-size:13.0pt; - font-family:"Cambria","serif"; - mso-ascii-font-family:Cambria; - mso-ascii-theme-font:major-latin; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:major-fareast; - mso-hansi-font-family:Cambria; - mso-hansi-theme-font:major-latin; - mso-bidi-font-family:"Times New Roman"; - mso-bidi-theme-font:major-bidi; - color:#4F81BD; - mso-themecolor:accent1; - font-weight:bold;} -span.Heading3Char - {mso-style-name:"Heading 3 Char"; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Heading 3"; - mso-ansi-font-size:12.0pt; - mso-bidi-font-size:12.0pt; - font-family:"Cambria","serif"; - mso-ascii-font-family:Cambria; - mso-ascii-theme-font:major-latin; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:major-fareast; - mso-hansi-font-family:Cambria; - mso-hansi-theme-font:major-latin; - mso-bidi-font-family:"Times New Roman"; - mso-bidi-theme-font:major-bidi; - color:#4F81BD; - mso-themecolor:accent1; - font-weight:bold;} -span.Heading4Char - {mso-style-name:"Heading 4 Char"; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Heading 4"; - mso-ansi-font-size:12.0pt; - mso-bidi-font-size:12.0pt; - font-family:"Cambria","serif"; - mso-ascii-font-family:Cambria; - mso-ascii-theme-font:major-latin; - mso-fareast-font-family:"Times New Roman"; - mso-fareast-theme-font:major-fareast; - mso-hansi-font-family:Cambria; - mso-hansi-theme-font:major-latin; - mso-bidi-font-family:"Times New Roman"; - mso-bidi-theme-font:major-bidi; - color:#4F81BD; - mso-themecolor:accent1; - font-weight:bold; - font-style:italic;} -span.HTMLPreformattedChar - {mso-style-name:"HTML Preformatted Char"; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"HTML Preformatted"; - font-family:Consolas; - mso-ascii-font-family:Consolas; - mso-hansi-font-family:Consolas; - mso-bidi-font-family:Consolas;} -span.BodyTextChar - {mso-style-name:"Body Text Char"; - mso-style-unhide:no; - mso-style-locked:yes; - mso-style-link:"Body Text"; - mso-ansi-font-size:12.0pt; - mso-bidi-font-size:12.0pt;} -span.SpellE - {mso-style-name:""; - mso-spl-e:yes;} -span.GramE - {mso-style-name:""; - mso-gram-e:yes;} -.MsoChpDefault - {mso-style-type:export-only; - mso-default-props:yes; - font-size:10.0pt; - mso-ansi-font-size:10.0pt; - mso-bidi-font-size:10.0pt;} -@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:163253770; - mso-list-template-ids:-2134855758;} -@list l1 - {mso-list-id:858737299; - mso-list-template-ids:1400259370;} -@list l1:level1 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:.5in; - mso-level-number-position:left; - text-indent:-.25in; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l1:level2 - {mso-level-tab-stop:1.0in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l1:level3 - {mso-level-tab-stop:1.5in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l1:level4 - {mso-level-tab-stop:2.0in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l1:level5 - {mso-level-tab-stop:2.5in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l1:level6 - {mso-level-tab-stop:3.0in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l1:level7 - {mso-level-tab-stop:3.5in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l1:level8 - {mso-level-tab-stop:4.0in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l1:level9 - {mso-level-tab-stop:4.5in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l2 - {mso-list-id:901331311; - mso-list-template-ids:1335414366;} -@list l2:level1 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:.5in; - mso-level-number-position:left; - text-indent:-.25in; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l2:level2 - {mso-level-tab-stop:1.0in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l2:level3 - {mso-level-tab-stop:1.5in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l2:level4 - {mso-level-tab-stop:2.0in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l2:level5 - {mso-level-tab-stop:2.5in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l2:level6 - {mso-level-tab-stop:3.0in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l2:level7 - {mso-level-tab-stop:3.5in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l2:level8 - {mso-level-tab-stop:4.0in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l2:level9 - {mso-level-tab-stop:4.5in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l3 - {mso-list-id:997000269; - mso-list-template-ids:-2143639650;} -@list l3:level1 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:.5in; - mso-level-number-position:left; - text-indent:-.25in; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l4 - {mso-list-id:1679889404; - mso-list-template-ids:-1428945010;} -@list l4:level1 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:.5in; - mso-level-number-position:left; - text-indent:-.25in; - mso-ansi-font-size:10.0pt; - font-family:Symbol;} -@list l5 - {mso-list-id:1736706262; - mso-list-type:hybrid; - mso-list-template-ids:1974731216 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} -@list l5:level1 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:.5in; - mso-level-number-position:left; - text-indent:-.25in; - font-family:Symbol;} -@list l5:level2 - {mso-level-tab-stop:1.0in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l5:level3 - {mso-level-tab-stop:1.5in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l5:level4 - {mso-level-tab-stop:2.0in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l5:level5 - {mso-level-tab-stop:2.5in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l5:level6 - {mso-level-tab-stop:3.0in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l5:level7 - {mso-level-tab-stop:3.5in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l5:level8 - {mso-level-tab-stop:4.0in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l5: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-priority:99; - mso-style-qformat: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","serif";} -</style> -<![endif]--><!--[if gte mso 9]><xml> - <o:shapelayout v:ext="edit"> - <o:idmap v:ext="edit" data="1"/> - </o:shapelayout></xml><![endif]--> -</head> - -<body lang=EN-US link=blue vlink=blue style='tab-interval:.5in'> - -<div class=Section1> - -<h2><span style='font-family:"Verdana","sans-serif";mso-fareast-font-family: -"Times New Roman"'>UNIMODEM sample controller-less modem driver (<span -class=SpellE>Fakemodem</span>)<o:p></o:p></span></h2> - -<h3 style='tab-stops:120.0pt'><span style='font-family:"Verdana","sans-serif"; -mso-fareast-font-family:"Times New Roman"'>SUMMARY<span style='mso-tab-count: -1'>��������� </span><o:p></o:p></span></h3> - -<p><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'>This -sample demonstrates a simple controller-less modem driver. <span class=GramE>This -driver supports sending and receiving AT commands using the <span class=SpellE>ReadFile</span>/<span -class=SpellE>WriteFile</span> calls or via a TAPI interface using an -application such as HyperTerminal.</span><o:p></o:p></span></p> - -<h3><span style='font-family:"Verdana","sans-serif";mso-fareast-font-family: -"Times New Roman"'>BUILDING THE SAMPLE<o:p></o:p></span></h3> - -<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span -style='font-size:10.0pt;font-family:"Verdana","sans-serif";color:black'>Click -the Free Build Environment or Checked Build Environment icon under Development -Kits program group to set basic environment variables. <o:p></o:p></span></p> - -<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span -style='font-size:10.0pt;font-family:"Verdana","sans-serif";color:black'>Change -to the directory containing the device source code, such as CD <span -class=SpellE>src</span>\<span class=SpellE>wdf</span>\<span class=SpellE>fakemodem</span>. -<o:p></o:p></span></p> - -<p class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto'><span -style='font-size:10.0pt;font-family:"Verdana","sans-serif";color:black'>Run <b>build --<span class=SpellE>ceZ</span>,</b> or use the macro <b>BLD</b>. This command -invokes the Microsoft make routines to build the components. If the build </span><span -style='color:black'>s</span><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -color:black'>ucceeds, you will find the driver, fakemodem.sys, </span><span -style='font-size:10.0pt;font-family:"Verdana","sans-serif"'>placed in a platform -specific <span style='color:black'>subdirectory -<b style='mso-bidi-font-weight: -normal'><span class=SpellE>src</span>\network\modem\<span class=SpellE>fakemodem</span></b></span><b -style='mso-bidi-font-weight:normal'>\<span class=GramE><span style='mso-bidi-font-weight: -bold'>$(</span></span><span style='mso-bidi-font-weight:bold'>OBJ_PATH)\$O</span></b><span -style='color:black'>. If it fails you can find errors and warnings in the -buildxxx.err and buildxxx.err respectively, where xxx is either <span -class=SpellE>chk</span> or <span class=SpellE>fre</span> depending on the build -environment. <o:p></o:p></span></span></p> - -<h3><span style='font-family:"Verdana","sans-serif";mso-fareast-font-family: -"Times New Roman"'>INSTALLATION<o:p></o:p></span></h3> - -<p><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:"Verdana","sans-serif"'>To -install and test this driver, you do not need any real hardware. You can -install this driver either using Devcon.exe (<span class=SpellE>ddk</span>\tools\<span -class=SpellE>devcon</span>) utility from the DDK or using toaster bus driver -sample. <o:p></o:p></span></p> - -<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"; -color:black'>To install the bus driver on Windows XP and Windows Server 2003: <o:p></o:p></span></p> - -<ul type=disc> - <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: - auto;mso-list:l1 level1 lfo3;tab-stops:list .5in'><span style='font-size: - 10.0pt;font-family:"Verdana","sans-serif"'>Double-click the �Add Hardware� - wizard in Control Panel. <o:p></o:p></span></li> - <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: - auto;mso-list:l1 level1 lfo3;tab-stops:list .5in'><span style='font-size: - 10.0pt;font-family:"Verdana","sans-serif"'>At the 'Welcome to the Add - Hardware Wizard', click �Next�. <o:p></o:p></span></li> - <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: - auto;mso-list:l1 level1 lfo3;tab-stops:list .5in'><span style='font-size: - 10.0pt;font-family:"Verdana","sans-serif"'>Select 'Yes, I have already - connected the hardware', then click Next. <o:p></o:p></span></li> - <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: - auto;mso-list:l1 level1 lfo3;tab-stops:list .5in'><span style='font-size: - 10.0pt;font-family:"Verdana","sans-serif"'>Select �Add a new hardware - device� from the list, then click Next. <o:p></o:p></span></li> - <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: - auto;mso-list:l1 level1 lfo3;tab-stops:list .5in'><span style='font-size: - 10.0pt;font-family:"Verdana","sans-serif"'>Select �Install the hardware - that I manually select from a list(Advanced),' and then click next. <o:p></o:p></span></li> - <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: - auto;mso-list:l1 level1 lfo3;tab-stops:list .5in'><span style='font-size: - 10.0pt;font-family:"Verdana","sans-serif"'>Select �Modems�, then click - Next. <o:p></o:p></span></li> - <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: - auto;mso-list:l1 level1 lfo3;tab-stops:list .5in'><span style='font-size: - 10.0pt;font-family:"Verdana","sans-serif"'>Check the box which says - "Don't detect my modems; I will select it from a list.", then - click Next. <o:p></o:p></span></li> - <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: - auto;mso-list:l1 level1 lfo3;tab-stops:list .5in'><span style='font-size: - 10.0pt;font-family:"Verdana","sans-serif"'>Click 'Have Disk', make sure - that 'A:\' is in the "Copy manufacturer's files from:" box, and - click OK. <o:p></o:p></span></li> - <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: - auto;mso-list:l1 level1 lfo3;tab-stops:list .5in'><span style='font-size: - 10.0pt;font-family:"Verdana","sans-serif"'>Click on the desired entry, and - then click Next. <o:p></o:p></span></li> - <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: - auto;mso-list:l1 level1 lfo3;tab-stops:list .5in'><span style='font-size: - 10.0pt;font-family:"Verdana","sans-serif"'>At 'The wizard is ready to - install your hardware', click Next. <o:p></o:p></span></li> - <li class=MsoNormal style='color:black;mso-margin-top-alt:auto;mso-margin-bottom-alt: - auto;mso-list:l1 level1 lfo3;tab-stops:list .5in'><span style='font-size: - 10.0pt;font-family:"Verdana","sans-serif"'>Click Finish at 'Completing the - Add/Remove Hardware Wizard.' <o:p></o:p></span></li> -</ul> - -<p><b style='mso-bidi-font-weight:normal'><span style='font-size:10.0pt; -mso-bidi-font-size:12.0pt;font-family:"Verdana","sans-serif"'>To install the -driver using toaster bus:<o:p></o:p></span></b></p> - -<p style='margin-left:.5in;text-indent:-.25in;mso-list:l5 level1 lfo5; -tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt; -mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; -mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>�<span -style='font:7.0pt "Times New Roman"'> -</span></span></span><![endif]><span style='font-size:10.0pt;mso-bidi-font-size: -12.0pt;font-family:"Verdana","sans-serif"'>Install the toaster bus driver. -Information on how to install the toaster bus driver is given in <span -class=SpellE>src</span>\general\toaster\toaster.htm readme file.<o:p></o:p></span></p> - -<p style='margin-left:.5in;text-indent:-.25in;mso-list:l5 level1 lfo5; -tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt; -mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; -mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>�<span -style='font:7.0pt "Times New Roman"'> -</span></span></span><![endif]><span style='font-size:10.0pt;mso-bidi-font-size: -12.0pt;font-family:"Verdana","sans-serif"'>Run the notify.exe (<span -class=SpellE>src</span>\general\toaster\exe\notify) and choose Plug In a device -in the Bus menu.<o:p></o:p></span></p> - -<p style='margin-left:.5in;text-indent:-.25in;mso-list:l5 level1 lfo5; -tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt; -mso-bidi-font-size:12.0pt;font-family:Symbol;mso-fareast-font-family:Symbol; -mso-bidi-font-family:Symbol'><span style='mso-list:Ignore'>�<span -style='font:7.0pt "Times New Roman"'> -</span></span></span><![endif]><span style='font-size:10.0pt;mso-bidi-font-size: -12.0pt;font-family:"Verdana","sans-serif"'>In the plug in dialog, specify -{b85b7c50-6a01-11d2-b841-00c04fad5171}\<span class=SpellE>fakemodem</span> as -the Hardware Id and click okay.<o:p></o:p></span></p> - -<p style='margin-left:.25in'><span style='font-size:10.0pt;mso-bidi-font-size: -12.0pt;font-family:"Verdana","sans-serif"'>The bus driver will enumerate a -device with the hardware id provided by the application. At this point:<o:p></o:p></span></p> - -<p><b><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'>On -Windows XP and later:</span></b><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'><o:p></o:p></span></p> - -<ul type=disc> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l1 level1 lfo3;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:"Verdana","sans-serif"'>"Found New Hardware Wizard" - dialog box will appear. Here select the radio button labeled "Install - from a list of specific location (Advanced)" and then hit the - "Next" button. <o:p></o:p></span></li> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l1 level1 lfo3;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:"Verdana","sans-serif"'>In the following screen select the - radio button labeled " Search the best driver in these - locations" and then select "Include this location in the search - path" and specify the target media or the directory where the KMDF - coinstaller (wdfcoinstallerMMmmm.dll), INF and SYS files are copied and - then hit the "Next" button. <o:p></o:p></span></li> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l1 level1 lfo3;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:"Verdana","sans-serif"'>The system will scan the directory and - pick up the matching INF and start the installation. You will get a - Hardware Installation Warning dialog stating that your driver has not - passed Windows Logo Testing. Hit "Continue Anyway" button. <o:p></o:p></span></li> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l1 level1 lfo3;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:"Verdana","sans-serif"'>The system will copy the driver, INF - file, load the driver and start the device. If every thing goes fine, you - will get "Completing the Found New Hardware Wizard". Hit the - "Finish" button and the installation is complete. <o:p></o:p></span></li> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l1 level1 lfo3;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:"Verdana","sans-serif"'>You should be able to see the device - in the Device manager under "Modems" <o:p></o:p></span></li> -</ul> - -<p><b><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'>On -Windows 2000:</span></b><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'><o:p></o:p></span></p> - -<ul type=disc> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l2 level1 lfo9;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:"Verdana","sans-serif"'>"Found New Hardware Wizard" - dialog box will appear with the description of the device. Here click - "Next" button. <o:p></o:p></span></li> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l2 level1 lfo9;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:"Verdana","sans-serif"'>In the following screen "Install - Hardware Device Driver", select the radio button labeled "Display - a list of known drivers for this device..." and then click - "Next" button. <o:p></o:p></span></li> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l2 level1 lfo9;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:"Verdana","sans-serif"'>In the following dialog on - "Hardware Type", select "Other Devices" from the list - and click "Next". <o:p></o:p></span></li> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l2 level1 lfo9;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:"Verdana","sans-serif"'>In the dialog on "Select a Device - Driver", click on "Have Disk". <o:p></o:p></span></li> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l2 level1 lfo9;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:"Verdana","sans-serif"'>Specify the target media or the - directory where the KMDF coinstaller (wdfcoinstallerMMmmm.dll), INF and - SYS files are copied and then hit the "Okay" button. <o:p></o:p></span></li> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l2 level1 lfo9;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:"Verdana","sans-serif"'>Select "OSR" in the - Manufacture section selection and click "Next". <o:p></o:p></span></li> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l2 level1 lfo9;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:"Verdana","sans-serif"'>Click "Next" on the - "Start Device Driver Installation" dialog. <o:p></o:p></span></li> - <li class=MsoNormal style='mso-margin-top-alt:auto;mso-margin-bottom-alt:auto; - mso-list:l2 level1 lfo9;tab-stops:list .5in'><span style='font-size:10.0pt; - font-family:"Verdana","sans-serif"'>Click Finish at 'Completing the - Add/Remove Hardware Wizard.' <o:p></o:p></span></li> -</ul> - -<p><span class=GramE><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt; -font-family:"Verdana","sans-serif"'>Note that if you get a warning dialog with -regards to Windows Logo, or unsigned drivers, testing then click on <b>continue</b>.</span></span><span -style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:"Verdana","sans-serif"'><o:p></o:p></span></p> - -<h3><span style='font-family:"Verdana","sans-serif";mso-fareast-font-family: -"Times New Roman"'>USAGE<o:p></o:p></span></h3> - -<p><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:"Verdana","sans-serif"'>Once -installed, you can talk to the <span class=SpellE>fakemodem</span> driver -through HyperTerminal, or via <span class=SpellE>ReadFile</span>/<span -class=SpellE>WriteFile</span> calls.<span style='mso-spacerun:yes'>� </span>The -AT command set supported by <span class=SpellE>fakemodem</span> includes:<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:"Verdana","sans-serif"'><span -style='mso-tab-count:1'>��������� </span><b>AT</b><span style='mso-tab-count: -3'>������������������������ </span>returns <b>OK</b><br> -<br> -<span style='mso-tab-count:1'>��������� </span><b>ATA</b><span -style='mso-tab-count:3'>���������������������� </span>returns <b>CONNECT<o:p></o:p></b></span></p> - -<p><b><span style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:"Verdana","sans-serif"'><span -style='mso-tab-count:1'>����������� </span>ATD</span></b><span -style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:"Verdana","sans-serif"'><number><span -style='mso-tab-count:2'>����������������� </span>returns <b>CONNECT</b><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","sans-serif";mso-fareast-font-family:"Times New Roman"'>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","sans-serif";mso-fareast-font-family:"Times New Roman"'>File -Manifest<o:p></o:p></span></h4> - -<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'>���������� </span><u>Description<o:p></o:p></u></span></pre><pre><span -class=SpellE><span class=GramE><b><span style='font-size:9.0pt;mso-bidi-font-size: -7.5pt;font-family:Courier'>readwrit.c</span></b></span></span><span -style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><span -style='mso-tab-count:1'>��� </span>Routines for receiving and sending text. This includes processing AT commands.<o:p></o:p></span></pre><pre><span -class=SpellE><b><span style='font-size:9.0pt;mso-bidi-font-size:7.5pt; -font-family:Courier'>Driver.c</span></b></span><span style='font-size:9.0pt; -mso-bidi-font-size:7.5pt;font-family:Courier'><span style='mso-tab-count:2'>������������� </span><span -class=SpellE>Fakemodem</span> driver initialization entry points and for handling <span -class=GramE>Plug</span> & Play events.<o:p></o:p></span></pre><pre><span -class=SpellE><span class=GramE><b><span style='font-size:9.0pt;mso-bidi-font-size: -7.5pt;font-family:Courier'>ioctl.c</span></b></span></span><span -style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><span -style='mso-tab-count:2'>�������������� </span>Routines to handle IOCTL messages.<o:p></o:p></span></pre><pre><span -class=GramE><b><span style='font-size:9.0pt;mso-bidi-font-size:7.5pt; -font-family:Courier'>mdmfake.inf</span></b></span><span style='font-size:9.0pt; -mso-bidi-font-size:7.5pt;font-family:Courier'><span style='mso-tab-count:1'>�� </span>INF file for installing the <span -class=SpellE>fakemodem</span> driver<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","sans-serif"'><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-yfti-tbllook:1184;mso-padding-alt: - 0in 0in 0in 0in'> - <tr style='mso-yfti-irow:0;mso-yfti-firstrow:yes;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","serif"'>� Microsoft -Corporation 2000</span><span style='font-size:10.0pt;font-family:"Verdana","sans-serif"'> -<o:p></o:p></span></p> - -</div> - -</body> - -</html> diff --git a/network/ndis/filter/filter.htm b/network/ndis/filter/filter.htm deleted file mode 100644 index 998c5b49..00000000 --- a/network/ndis/filter/filter.htm +++ /dev/null @@ -1,152 +0,0 @@ -<!DOCTYPE HTML> -<html> - -<head> -<meta http-equiv="Content-Type" content="text/html; charset=windows-1252"> -<title>NDISLWF</title> -</head> - -<body> - -<h1>NDISLWF.SYS - Sample NDIS 6.0 Filter Driver</h1> - -<p>Note: the sample driver contains some extra code for demonstration purposes. -You should remove unneeded optional sections from a production driver.</p> - -<h2>SUMMARY</h2> - -<h3>Ndislwf NDIS 6.0 Filter Driver</h3> - -<p>The Ndislwf sample is currently a do-nothing pass-through NDIS 6 filter -driver that demonstrates the basic principles underlying an NDIS 6.0 Filter -driver. The sample is a replacement of NDIS 5 Sample Intermediate -Driver (Passthru driver).</p> - -<p>Although the filter driver is a Modifying filter driver, the filter driver -currently doesn�t modify any packets and it only re-packages and sends down all -OID requests. You may easily update this filter driver to change packets -before passing them along. Or you may use the filter to originate new packets -to send or receive. For example, the filter could encrypt/compress outgoing and -decrypt/decompress incoming data.</p> - -<h2>BUILDING THE SAMPLE</h2> - -<p>Run the <b>build</b> command from this directory to build the -sample—it creates the binary Ndislwf.sys.</p> - -<p>To install this driver on Windows Vista (or above), use netlwf.INF also -found in this DDK.</p> - -<h2>INSTALLING THE SAMPLE</h2> - -<p>Ndislwf is installed as a service (called �NDIS Sample LightWeight Filter� -in the supplied INF). To install, follow the steps below:</p> - -<ol> - -<li>Prepare a an installation directory that contains these files: netlwf.inf -and ndislwf.sys.</li> - -<li>On the desktop, click <b>Start</b>, then open <b>Control Panel</b>, then -open <b>Network and Internet Connections</b>, then open <b>Network -Connections</b>, then right-click on the relevant Local Area Connection icon -and choose <b>Properties</b>.</li> - -<li>Click <b>Install</b>, then <b>Service</b>, then <b>Add</b>, then <b>Have -Disk</b>.</li> - -<li>Browse to the drive/directory containing the files listed above. Click -<b>OK</b>. This should show �NDIS Sample LightWeight Filter� in a list of -Network Services. Highlight this and click <b>OK</b>. This should install the -Ndislwf filter driver.</li> - -<li>Click <b>OK</b> or <b>Yes</b> each time if the system prompts with a warning -regarding installation of unsigned files. This is necessary because binaries -generated via the LDK build environment are not signed.</li> - -</ol> - -<h2>CODE TOUR</h2> - -<h3>File Manifest</h3> - -<table> - -<tr><td><u>File</u></td><td><u>Description</u></td></tr> - -<tr><td>makefile</td><td>Used during compilation to create the object and sys -files</td></tr> - -<tr><td>filter.c</td><td>Filter driver entry points and related functions in -the Ndislwf filter driver</td></tr> - -<tr><td>netlwf.inf</td><td>Installation INF for the service</td></tr> - -<tr><td>device.c</td><td>Virtual device related routines such as registering a -device and handling IOCTLs</td></tr> - -<tr><td>filter.h</td><td>Prototypes of all functions and data structures used -by the Ndislwf driver</td></tr> - -<tr><td>filter.htm</td><td>Documentation for the filter driver (this - file)</td></tr> - -<tr><td>filter.rc</td><td>Resource file for the Ndislwf driver</td></tr> - -<tr><td>precomp.h</td><td>Precompile header file</td></tr> - -<tr><td>flt_dbg.c</td><td>Debug-related code</td></tr> - -<tr><td>flt_dbg.h</td><td>Debug code definitions and structures</td></tr> - -<tr><td>sources</td><td>List of source files that are compiled and linked to -create the ndislwf driver.</td></tr> - -</table> - -<h3>Programming Tour</h3> - -<p>Basic steps in attaching and detaching of Ndislwf driver:</p> - -<ol> - -<li>During DriverEntry, the ndislwf driver registers as a NDIS 6 filter -driver.</li> - -<li>Later on, NDIS calls Ndislwf FilterAttach handler, for each underlying NDIS -adapter on which it is configured to attach.</li> - -<li>In the context of FilterAttach Handler, filter driver call NdisFAttribute -to register its filter module context with NDIS. After that, filter driver can -read its own setting in registry by calling NdisOpenConfigurationEx, and calls -NdisXXX functions.</li> - -<li>After FilterAttach successfully returns, NDIS restarts the filter later by -calling FilterRestart handler. FilterRestart should prepare to handle -send/receive data. After restart return successfully, filter driver should be -able to process send/receive.</li> - -<li>All requests and sends coming from overlying drivers for the Ndislwf filter -driver are repackaged if necessary and sent down to NDIS, to be passed to the -underlying NDIS driver.</li> - -<li>All indications arriving from an underlying NDIS driver are forwarded up by -Ndislwf filter driver.</li> - -<li>NDIS call FilterPause handler when NDIS needs to detach the filter from the -stack or there is some configuration changes in the stack. In processing the -pause request from NDIS, the Ndislwf driver waits for all its own outstanding -requests to be completed before it completes the pause request.</li> - -<li>NDIS calls the Ndislwf driver�s FilterDetach entry point when NDIS needs to -detach a filter module from NDIS stack. FilterDetach handler should free all -the memory allocation done in FilterAttach, and undo the operations it did in -FilterAttach Handler.</li> - -</ol> - -<p>© Microsoft Corporation</p> - -</body> - -</html> diff --git a/network/ndis/mux/driver/60/mux.htm b/network/ndis/mux/driver/60/mux.htm deleted file mode 100644 index 8a590061..00000000 --- a/network/ndis/mux/driver/60/mux.htm +++ /dev/null @@ -1,617 +0,0 @@ -<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:st1="urn:schemas-microsoft-com:office:smarttags" -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 11"> -<meta name=Originator content="Microsoft Word 11"> -<link rel=File-List href="mux2_files/filelist.xml"> -<title>MUX Intermediate Miniport Driver Help</title> -<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags" - name="PlaceName"/> -<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags" - name="PlaceType"/> -<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags" - name="place"/> -<!--[if gte mso 9]><xml> - <w:WordDocument> - <w:SpellingState>Clean</w:SpellingState> - <w:GrammarState>Clean</w:GrammarState> - <w:ValidateAgainstSchemas/> - <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> - <w:IgnoreMixedContent>false</w:IgnoreMixedContent> - <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> - <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> - </w:WordDocument> -</xml><![endif]--><!--[if gte mso 9]><xml> - <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> - </w:LatentStyles> -</xml><![endif]--><!--[if !mso]><object - classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object> -<style> -st1\:*{behavior:url(#ieooui) } -</style> -<![endif]--> -<style> -<!-- - /* Font Definitions */ - @font-face - {font-family:Verdana; - panose-1:2 11 6 4 3 5 4 4 2 4; - mso-font-alt:Tahoma; - 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:Arial; - 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"; - color:black;} -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"; - color:black; - 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"; - color:black; - 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"; - color:black; - 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"; - color:black;} -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"; - color:black;} -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"; - mso-ansi-language:#0400; - mso-fareast-language:#0400; - mso-bidi-language:#0400;} -</style> -<![endif]--> -<meta name=Template content="C:\Program Files\Microsoft Office\Office\html.dot"> -<!--[if gte mso 9]><xml> - <o:shapedefaults v:ext="edit" spidmax="8194"/> -</xml><![endif]--><!--[if gte mso 9]><xml> - <o:shapelayout v:ext="edit"> - <o:idmap v:ext="edit" data="1"/> - </o:shapelayout></xml><![endif]--> -</head> - -<body bgcolor=white lang=EN-US link=blue vlink=purple style='tab-interval:.5in'> - -<div class=Section1> - -<h2><a name=MYSAMPLE><span style='font-family:Verdana'>MUX.SYS - Sample NDIS -MUX Intermediate Driver</span></a><span style='font-family:Verdana'><o:p></o:p></span></h2> - -<h3><span style='font-family:Verdana'>SUMMARY<o:p></o:p></span></h3> - -<p><st1:place w:st="on"><st1:PlaceName w:st="on"><b><span style='font-family: - Verdana'>MUX</span></b></st1:PlaceName><b><span style='font-family:Verdana'> <st1:PlaceName - w:st="on">Intermediate</st1:PlaceName> <st1:PlaceType w:st="on">Miniport</st1:PlaceType></span></b></st1:place><b><span -style='font-family:Verdana'> Driver<o:p></o:p></span></b></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The MUX Intermediate -Miniport (IM) driver is an NDIS 6.0 driver that demonstrates the operation of -an �N<span class=GramE>:1</span>� MUX driver, i.e. one which creates multiple -virtual network devices on top of a single lower adapter. Protocols bind to -these virtual adapters as if they are real adapters. Examples of <st1:place -w:st="on"><st1:PlaceName w:st="on">Intermediate</st1:PlaceName> <st1:PlaceType - w:st="on">Miniport</st1:PlaceType></st1:place> drivers that can use this -framework are Virtual LAN (VLAN) drivers.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>This sample implements -IEEE 802.1Q VLAN tagging, which is enabled by changing the default VLAN ID to a -non-zero valid value (see �Configuring VLANs� below).<o:p></o:p></span></p> - -<p><b><span style='mso-bidi-font-size:10.0pt;font-family:Verdana'>Operation<o:p></o:p></span></b></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The driver binds to -Ethernet (NdisMedium802_3) adapters as a protocol, and exposes one or more -virtual Ethernet devices over each lower adapter, based on its configuration. -The term �VELAN� is used to denote a Virtual Ethernet LAN adapter implemented -by this driver.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>When it binds to a lower -adapter, MUX reads the standard �UpperBind� key to obtain a list of VELANs -configured over this adapter. For each such VELAN, it calls <span class=GramE>NdisIMInitializeDeviceInstanceEx(</span>) -to instantiate the NDIS miniport for the VELAN. NDIS then calls the driver�s -MiniportInitialize (<i>MPInitialize</i>) routine to start the VELAN miniport.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The MUX driver supports -configuring the MAC address for each VELAN miniport using the standard -�NetworkAddress� key that it reads from its MiniportInitialize routine. If this -is not configured, it computes a �locally significant� MAC address for the -VELAN using the MAC address of the lower adapter. The MUX driver sets its lower -adapter to promiscuous mode in order to be able to receive frames directed to -any of the VELAN MAC addresses. <span class=GramE>However it does implement -packet-filtering (and multicast address filtering) logic for all its VELAN -miniports so that it only passes up relevant frames on each VELAN.</span> This -aspect of the driver may be modified if, for example, your driver design uses -the same MAC address as that of the lower adapter on all VELANs. With such a -modification, it is not required to set the lower adapter to promiscuous mode -and incur the costs of receiving all packets on the network.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>It supports dynamic -addition and deletion of VELANs in conjunction with <span class=GramE>its</span> -notify object (related sample). If a VELAN is deleted, the virtual device -corresponding to the VELAN is stopped and removed, which in turn results in -NDIS halting the miniport instance for the VELAN (see <i>MPHalt</i>). If a -VELAN is added, NDIS sends a global reconfiguration event to the protocol edge -of this driver. The handler function for this event, PtPNPHandler, goes through -all lower adapters to see if any new VELANs have been added, i.e. if any of the -�UpperBind� keys have been modified.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>Since the driver -implements a virtual device, it does not simply pass through most NDIS -queries/sets. It keeps its own device view that is reflected in its responses -to queries/sets. However it does pass through queries/sets for certain OIDs -that are best handled by the lower adapter driver. <o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The driver supports Power -Management in the sense that it allows Wake-On-LAN and related functionality, -if supported by the lower adapter, to continue to function. It does so by -appropriately forwarding OID_PNP_XXX queries/sets to the lower adapter. <o:p></o:p></span></p> - -<p><b style='mso-bidi-font-weight:normal'><span style='font-family:Verdana'>IEEE -802.1Q VLAN Operation<o:p></o:p></span></b></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The driver supports -configuring a VLAN ID on each VELAN. It then inserts a tag header containing -this VLAN ID on all outgoing frames. For incoming frames that contain a tag -header, it verifies that a matching VLAN ID is present before indicating it up -to protocols. It removes the tag header, if present, from all indicated frames. -In all cases, received frames that do not contain tag headers are always handed -up to protocols.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>With the default -configured VLAN ID of zero, the driver does not insert tag header information -on sent packets, except for sent packets that contain non-zero Ieee8021QInfo -per-packet information, for which the driver does insert corresponding tag -headers. Receive-side filtering on VLAN ID is enabled only with a non-zero -configured VLAN ID, in which case only received frames containing a matching -VLAN ID are passed up. With the default configured VLAN ID of zero, the driver -does not check the VLAN ID on received frames.<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'>Run the <b>build</b> -command from this directory to build the sample�it creates the binary mux.sys. -To disable IEEE VLAN support, comment out the following line in the sources -file before building:<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>C_DEFINES=$(C_DEFINES) -�DIEEE_VLAN_SUPPORT=1<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>To install this driver on -Windows� codename Whistler, use the MUX sample notification object and INFs, -also found in this DDK.<o:p></o:p></span></p> - -<h3><span style='font-family:Verdana'>INSTALLING THE SAMPLE<o:p></o:p></span></h3> - -<p><span style='font-size:10.0pt;font-family:Verdana'>MUX is installed as a -protocol (called �Sample <span class=SpellE>Mux</span>-IM Protocol Driver� in -the supplied INFs/notification object). To install, follow the steps below.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>Prepare a floppy disk (or -installation directory) that contains these files: <span class=SpellE>muxp.inf</span>, -<span class=SpellE>mux_mp.inf</span>, mux.sys and mux.dll (notification object -DLL, built in this DDK at network\<span class=SpellE>ndis\mux\notifyob</span>).<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>On the desktop, -right-click the <b>My Network Places</b> icon and choose <b>Properties</b>. <o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>Right-click on the -relevant Local Area Connection icon and choose <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>, <span class=GramE>then</span> <b>Have -Disk</b>. <o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>Browse to the -drive/directory containing the files listed above. Click <b>OK</b>. This should -show �Sample <span class=SpellE>Mux</span>-IM Protocol Driver� in a list of -Network Protocols. Highlight this and click <b>OK</b>. This should install the -MUX driver. <o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>Click <b>OK</b> or <span -class=GramE><b>Yes</b></span> each time the system prompts with a warning -regarding installation of unsigned files. This is necessary because binaries -generated via the DDK build environment are not signed.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>Two .INF files are needed -rather than one because MUX is installed both as a protocol and a miniport.<o:p></o:p></span></p> - -<p><b style='mso-bidi-font-weight:normal'><span style='font-family:Verdana'>Configuring -VLANs<o:p></o:p></span></b></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The VLAN ID for each -VELAN (virtual miniport) can be configured as follows. Right-click on the -virtual miniport Local Area Connection icon and choose <b style='mso-bidi-font-weight: -normal'>Properties</b>. Click on the <b style='mso-bidi-font-weight:normal'>Configure</b> -button to bring up the Device Manager UI for the virtual device. Select the <b -style='mso-bidi-font-weight:normal'>Advanced</b> property sheet � this should -contain a �VLAN ID� parameter that is configurable to the desired VLAN ID. -Choosing a value of 0 (zero) disables receive-side filtering based on VLAN ID.<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'>���������� </span>Description<o:p></o:p></u></pre><pre><o:p> </o:p></pre><pre><span -class=SpellE>Makefile</span><span style='mso-tab-count:1'>������ </span>Used during compilation to create the object and sys files</pre><pre>Miniport.c<span -style='mso-tab-count:1'>���� </span>Miniport related routines for the MUX driver</pre><pre><span -class=SpellE>Mux.c</span><span style='mso-tab-count:2'>��������� </span><span -class=SpellE>DriverEntry</span> routine and any routines common to the MUX miniport and protocol </pre><pre><span -class=SpellE>Mux.h</span><span style='mso-tab-count:2'>��������� </span>Prototypes of all functions and data structures used by the MUX driver</pre><pre>Mux.htm<span -style='mso-tab-count:2'>������� </span>Documentation for the MUX driver (this file)</pre><pre><span -class=SpellE>Mux.rc</span><span style='mso-tab-count:2'>�������� </span>Resource <span -class=GramE>file</span> for the MUX driver</pre><pre><span class=SpellE>Muxp.inf</span><span -style='mso-tab-count:1'>������ </span>Installation INF for the service (protocol side installation)</pre><pre><span -class=SpellE>Mux_mp.inf</span><span style='mso-tab-count:1'>���� </span>Installation INF for the miniport (virtual device installation)</pre><pre><span -class=SpellE>Precomp.h</span><span style='mso-tab-count:1'>����� </span><span -class=SpellE>Precompile</span> header file</pre><pre><span class=SpellE>Protocol.c</span><span -style='mso-tab-count:1'>���� </span>Protocol related routines for the MUX driver</pre><pre>Sources<span -style='mso-tab-count:2'>������� </span>List of source files that are compiled and linked to create the MUX driver. This can be modified to create binaries that operate on previous Windows versions (e.g. Windows 2000).</pre> - -<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'>Programming Tour<o:p></o:p></span></h4> - -<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:10.0pt;font-family:Verdana'>When it loads, i.e. from its <i>DriverEntry</i> -function, the MUX driver registers as an Intermediate miniport driver and as a -protocol, in that order.<o:p></o:p></span></p> - -<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'><b><span -style='font-size:10.0pt;font-family:Verdana'>Binding and VELAN Creation<o:p></o:p></span></b></p> - -<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:10.0pt;font-family:Verdana'>NDIS calls MUX�s BindAdapter -function, <i>PtBindAdapter</i>, for each underlying NDIS adapter to which it is -configured to bind. This function allocates an ADAPT structure to represent the -lower adapter, and calls NdisOpenAdapter to set up a binding to it. In the -context of BindAdapterHandler, after successfully opening a binding to the -underlying adapter, the driver queries the reserved keyword -"UpperBindings" to get a list of device names for the virtual -adapters that this particular binding is to expose � see <i>PtBootStrapVElans</i> -for more details. Note that the MUX driver does not create bindings (i.e. call -NdisOpenAdapter) from any context other than its BindAdapter function � this is -recommended behavior for all drivers of this type.<o:p></o:p></span></p> - -<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:10.0pt;font-family:Verdana'>For each device name specified in -the �UpperBindings� key, the MUX driver allocates a VELAN data structure to -represent the virtual miniport, calls NdisIMInitializeDeviceInstanceEx. In -response, NDIS eventually calls the MUX miniport�s MiniportInitialize entry -point, <i>MPInitialize</i>, for each VELAN. After <i>MPInitialize</i> -successfully returns, NDIS takes care of getting upper-layer protocols to bind -to the newly created virtual adapter(s).<o:p></o:p></span></p> - -<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'><b><span -style='font-size:10.0pt;font-family:Verdana'>Unbinding and Halting</span></b><span -style='font-size:10.0pt;font-family:Verdana'><o:p></o:p></span></p> - -<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:10.0pt;font-family:Verdana'>NDIS calls MUX�s UnbindAdapter -handler, <i>PtUnbindAdapter</i>, to request it to unbind from a lower adapter. -In processing this, MUX calls NdisIMDeInitializeDeviceInstance for each VELAN -instantiated on the indicated adapter � see <i>PtStopVElan</i> for details. -This call results in NDIS first unbinding any protocols bound to the indicated -VELAN, and then calling the MiniportHalt routine, <i>MPHalt</i>, for that -VELAN. <i>MPHalt</i> waits for any outstanding receives/sends on the VELAN to -finish before unlinking the VELAN from the ADAPT.<o:p></o:p></span></p> - -<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'><i><span -style='font-size:10.0pt;font-family:Verdana'>PtUnbindAdapter</span></i><span -style='font-size:10.0pt;font-family:Verdana'> itself blocks until all VELANs -associated with the ADAPT structure have been unlinked from it. This is to make -sure that no thread running in the context of a miniport-edge entry point for a -VELAN will ever access an invalid lower binding handle. Once all VELANs have -been unlinked, <i>PtUnbindAdapter</i> closes the lower binding by calling -NdisCloseAdapter. Note that the MUX driver does not close its lower binding -from any context other than its UnbindAdapter function � this is recommended -behavior for all drivers of this type.<o:p></o:p></span></p> - -<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'><i><span -style='font-size:10.0pt;font-family:Verdana'>MPHalt</span></i><span -style='font-size:10.0pt;font-family:Verdana'> may also be called if the VELAN -device is disabled, e.g. from the Network Connections Folder. There is no -special code within <i>MPHalt</i> to handle this condition. However, <i>PtUnbindAdapter</i> -takes care to not attempt to deinitialize a VELAN miniport (via -NdisIMDeInitializeDeviceInstance) that has already been halted.<o:p></o:p></span></p> - -<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'><b><span -style='font-size:10.0pt;font-family:Verdana'>Handling Queries<o:p></o:p></span></b></p> - -<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 -class=SpellE><i><span style='font-size:10.0pt;font-family:Verdana'>MPRequest</span></i></span><span -style='font-size:10.0pt;font-family:Verdana'> is the MUX driver�s function that -handles queries for OID values on VELAN miniports. Most of the �Ethernet� type -information for the virtual miniport is stored in the VELAN structure itself, -and the driver returns information from this structure. The queries that are -forwarded are OID_GEN_MEDIA_CONNECT_STATUS, OID_PNP_CAPABILITIES and -OID_PNP_WAKE_UP_PATTERN_LIST. See �Handling Power Management� below for more -information about the latter two OIDs.<i><o:p></o:p></i></span></p> - -<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'><b><span -style='font-size:10.0pt;font-family:Verdana'>Handling Sets</span></b><span -style='font-size:10.0pt;font-family:Verdana'><o:p></o:p></span></p> - -<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 -class=SpellE><i><span style='font-size:10.0pt;font-family:Verdana'>MPRequest</span></i></span><span -style='font-size:10.0pt;font-family:Verdana'> handles setting OID values on -VELAN miniports. Data management OIDs handled by the MUX driver are -OID_802_3_MULTICAST_LIST and OID_GEN_CURRENT_PACKET_FILTER. The multicast list -is handled entirely within the MUX driver � it just stores the set of multicast -addresses in the VELAN structure, for reference during receive-side data -processing. The packet filter is handled in a different way � the MUX driver -combines the packet filter settings (bitwise OR) of all VELANs associated with -the same lower adapter. If the combined packet filter is non-zero, MUX sends a -Set request with a value of NDIS_PACKET_TYPE_PROMISCUOUS for -OID_GEN_CURRENT_PACKET_FILTER to start receives on the lower adapter. If the -combined packet filter is zero, MUX sets the lower adapter�s packet filter to 0 -(turns off all receives if there aren�t any interested protocols).<o:p></o:p></span></p> - -<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:10.0pt;font-family:Verdana'>Note that setting the lower -adapter to promiscuous mode is only done here in order to be able to receive <span -class=SpellE>unicast</span> frames directed to multiple MAC addresses. If, for -example, all VELANs are assigned the same MAC address (which is identical to -the address of the lower adapter), then the MUX driver should only pass down -the combined (bitwise OR) setting of packet filter settings of all VELANs.<o:p></o:p></span></p> - -<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:10.0pt;font-family:Verdana'>Some power management OIDs are -forwarded to the lower miniport. See �Handling Power Management� below for -details. <o:p></o:p></span></p> - -<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'><b><span -style='font-size:10.0pt;font-family:Verdana'>Sending Data<o:p></o:p></span></b></p> - -<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:10.0pt;font-family:Verdana'>Data sent down on a VELAN miniport -is forwarded to the lower adapter. The MUX driver itself does not generate any -data of its own. The MUX driver clones a NET_BUFFER_LIST for each <span -class=SpellE>NetBufferList</span> passed to its <span class=SpellE><i>MPSendNetBufferLists</i></span> -function, and saves a pointer to the original NET_BUFFER_LIST in the reserved -area of the NET_BUFFER_LIST structure. When the lower adapter completes the -send (<span class=SpellE><i>PtSendNBLComplete</i></span>), MUX picks up the -original packet and calls <span class=SpellE>NdisMSendNetBufferListsComplete</span> -to complete the original send request.<o:p></o:p></span></p> - -<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:10.0pt;font-family:Verdana'>If a non-zero VLAN ID is -configured for the VELAN, and/or the packet has non-zero Ieee8021QInfo -per-packet information, then the MUX driver inserts an NDIS buffer containing a -tag header to the front of the packet before sending it down � see function <i -style='mso-bidi-font-style:normal'>MPHandleSendTagging</i> for details.<o:p></o:p></span></p> - -<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'><b><span -style='font-size:10.0pt;font-family:Verdana'>Receiving Data<o:p></o:p></span></b></p> - -<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:10.0pt;font-family:Verdana'>Data received from a lower adapter -is indicated up on zero or more VELANs. The <span class=SpellE><i>PtReceiveNBL</i></span> -function is called for each <span class=SpellE>NetBufferList</span> received -from the lower adapter. The received data is checked for matches with the -packet filter and multicast list for each VELAN associated with the adapter -(see <i>PtMatchPacketToVElan</i>). Whenever a match is found, a new NET_BUFFER_LIST -is allocated and set to point to the received data. A pointer to the original -received NET_BUFFER_LIST (if any) is also stored in the new <span class=SpellE>NET_BUFFER_LIST�s</span> -reserved area. This packet is indicated up via <span class=SpellE>NdisMIndicateReceiveNetBufferLists</span> -to all interested protocols on that VELAN. <o:p></o:p></span></p> - -<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:10.0pt;font-family:Verdana'>The driver�s <span class=SpellE><i>MPReturnNetBufferLists</i></span> -function is called either by NDIS or by MUX itself when protocols are done with -a received NET_BUFFER_LIST. This function returns the original NET_BUFFER_LIST -indicated by the lower driver, if any, by calling <span class=SpellE>NdisReturnNetBufferLists</span>.<o:p></o:p></span></p> - -<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:10.0pt;font-family:Verdana'>The driver indicates up received -frames that do not have an IEEE 802.1Q tag header in them � see function <i -style='mso-bidi-font-style:normal'>PtHandleRcvTagging</i>. It always strips off -tag headers, if present, on received frames. If a non-zero VLAN ID is -configured, then it checks received frames that contain tag headers for -matching VLAN Ids � only matching frames are indicated up to protocols. Any -VLAN/priority information present in incoming frames is copied to per-packet -information fields of indicated NET_BUFFER_LIST structures.<o:p></o:p></span></p> - -<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'><b><span -style='font-size:10.0pt;font-family:Verdana'>Status Indications</span></b><span -style='font-size:10.0pt;font-family:Verdana'><o:p></o:p></span></p> - -<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:10.0pt;font-family:Verdana'>The only status indications that -are forwarded up by MUX are media connect status indications. See <i>PtStatus</i> -for more details.<o:p></o:p></span></p> - -<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'><b><span -style='font-size:10.0pt;font-family:Verdana'>Handling Power Management</span></b><span -style='font-size:10.0pt;font-family:Verdana'><o:p></o:p></span></p> - -<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:10.0pt;font-family:Verdana'>During initialization (<i>MPInitialize</i>), -the MUX miniport sets the attribute <i>NDIS_ATTRIBUTE_NO_HALT_ON_SUSPEND</i> in -its call to <span class=SpellE>NdisMSetMiniportAttributes</span>. When the MUX -miniport is requested to report its Plug and Play capabilities -(OID_PNP_CAPABILITIES), the MUX miniport forwards the request to the underlying -miniport. If this request succeeds, then the MUX miniport overwrites the -following fields before successfully completing the original request: <o:p></o:p></span></p> - -<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:10.0pt;font-family:Verdana'>NDIS_DEVICE_POWER_STATE<span -style='mso-tab-count:1'>��������� </span>MinMagicPacketWakeUp = -NdisDeviceStateUnspecified;<o:p></o:p></span></p> - -<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:10.0pt;font-family:Verdana'>NDIS_DEVICE_POWER_STATE<span -style='mso-tab-count:1'>��������� </span><span class=SpellE>MinPatternWakeUp</span>= -NdisDeviceStateUnspecified;<o:p></o:p></span></p> - -<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:10.0pt;font-family:Verdana'>NDIS_DEVICE_POWER_STATE<span -style='mso-tab-count:1'>��������� </span>MinLinkChangeWakeUp=NdisDeviceStateUnspecified<o:p></o:p></span></p> - -<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:10.0pt;font-family:Verdana'>See <i>PtPostProcessPnPCapabilities</i> -for details. <o:p></o:p></span></p> - -<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:10.0pt;font-family:Verdana'>OID_PNP_SET_POWER and -OID_PNP_QUERY_POWER are not passed to the lower adapter, since the lower layer -miniport will receive independent requests from NDIS.<o:p></o:p></span></p> - -<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:10.0pt;font-family:Verdana'>NDIS calls the MUX driver�s -ProtocolPnPEvent function (<i>PtPNPHandler</i>) whenever the underlying adapter -is transitioned to a different power state. If the underlying adapter is -transitioning to a low power state, the driver waits for all outstanding sends -and requests to complete.<o:p></o:p></span></p> - -<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:10.0pt;font-family:Verdana'>Queries/sets received on a VELAN -miniport that are to be forwarded to the underlying adapter are queued on the -VELAN if the underlying adapter is at a low power state. These are picked up -for processing on receiving a notification that the underlying adapter is back -to a powered-up state.<o:p></o:p></span></p> - -<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'><b><span -style='font-size:10.0pt;font-family:Verdana'>Handling Global Reconfiguration</span></b><span -style='font-size:10.0pt;font-family:Verdana'><o:p></o:p></span></p> - -<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:10.0pt;font-family:Verdana'>All modifications to VELAN -configuration are accompanied by PnP reconfigure notifications, i.e. -NetEventReconfigure events passed to the MUX�s PnPEventHandler, <i>PtPNPHandler</i>. -This driver takes a broad approach to handling reconfiguration, which is to -simply re-examine all the �UpperBindings� keys for all currently bound -adapters, and start off VELANs for any that do not exist � see <i>PtBootStrapVElans</i> -for details.<o:p></o:p></span></p> - -<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'><b><span -style='font-size:10.0pt;font-family:Verdana'>Canceling Sends</span></b><span -style='font-size:10.0pt;font-family:Verdana'>: MUX propagates send -cancellations from protocols above it to lower miniports.<o:p></o:p></span></p> - -<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:10.0pt;font-family:Verdana'><span -style='mso-spacerun:yes'>�</span><o:p></o:p></span></p> - -<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="#top"><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-firstrow:yes;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"'>� 1999 Microsoft -Corporation</span><span style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></p> - -</div> - -</body> - -</html> diff --git a/network/ndis/mux/notifyob/notify.htm b/network/ndis/mux/notifyob/notify.htm deleted file mode 100644 index 6fe84b68..00000000 --- a/network/ndis/mux/notifyob/notify.htm +++ /dev/null @@ -1,552 +0,0 @@ -<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:p="urn:schemas-microsoft-com:office:powerpoint" -xmlns:oa="urn:schemas-microsoft-com:office:activation" -xmlns:st1="urn:schemas-microsoft-com:office:smarttags" -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 11"> -<meta name=Originator content="Microsoft Word 11"> -<link rel=File-List href="notify_files/filelist.xml"> -<title>Mux.dll - Sample Notify Object</title> -<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags" - name="place"/> -<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags" - name="PlaceType"/> -<o:SmartTagType namespaceuri="urn:schemas-microsoft-com:office:smarttags" - name="PlaceName"/> -<!--[if gte mso 9]><xml> - <w:WordDocument> - <w:SpellingState>Clean</w:SpellingState> - <w:GrammarState>Clean</w:GrammarState> - <w:ValidateAgainstSchemas/> - <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> - <w:IgnoreMixedContent>false</w:IgnoreMixedContent> - <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> - <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> - </w:WordDocument> -</xml><![endif]--><!--[if gte mso 9]><xml> - <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> - </w:LatentStyles> -</xml><![endif]--><!--[if !mso]><object - classid="clsid:38481807-CA0E-42D2-BF39-B33AF135CC4D" id=ieooui></object> -<style> -st1\:*{behavior:url(#ieooui) } -</style> -<![endif]--> -<style> -<!-- - /* Font Definitions */ - @font-face - {font-family:SimSun; - panose-1:2 1 6 0 3 1 1 1 1 1; - mso-font-alt:\5B8B\4F53; - mso-font-charset:134; - mso-generic-font-family:auto; - mso-font-format:other; - mso-font-pitch:variable; - mso-font-signature:1 135135232 16 0 262144 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-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;} -@font-face - {font-family:"\@SimSun"; - 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";} -h1 - {mso-style-next:Normal; - margin:0in; - margin-bottom:.0001pt; - mso-pagination:widow-orphan; - page-break-after:avoid; - mso-outline-level:1; - font-size:10.0pt; - font-family:Verdana; - mso-fareast-font-family:SimSun; - mso-font-kerning:0pt; - font-weight:bold;} -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;} -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:354117224; - mso-list-type:hybrid; - mso-list-template-ids:-730287492 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} -@list l0:level1 - {mso-level-number-format:bullet; - mso-level-text:\F0B7; - mso-level-tab-stop:.5in; - mso-level-number-position:left; - text-indent:-.25in; - font-family:Symbol;} -@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;} -@list l1 - {mso-list-id:379671731; - mso-list-type:hybrid; - mso-list-template-ids:-1929328134 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} -@list l1:level1 - {mso-level-text:"%1\)"; - mso-level-tab-stop:.5in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l1:level2 - {mso-level-tab-stop:1.0in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l1:level3 - {mso-level-tab-stop:1.5in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l1:level4 - {mso-level-tab-stop:2.0in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l1:level5 - {mso-level-tab-stop:2.5in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l1:level6 - {mso-level-tab-stop:3.0in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l1:level7 - {mso-level-tab-stop:3.5in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l1:level8 - {mso-level-tab-stop:4.0in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l1:level9 - {mso-level-tab-stop:4.5in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l2 - {mso-list-id:1626816921; - mso-list-type:hybrid; - mso-list-template-ids:-553597382 67698705 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} -@list l2:level1 - {mso-level-text:"%1\)"; - mso-level-tab-stop:.5in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l2:level2 - {mso-level-tab-stop:1.0in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l2:level3 - {mso-level-tab-stop:1.5in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l2:level4 - {mso-level-tab-stop:2.0in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l2:level5 - {mso-level-tab-stop:2.5in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l2:level6 - {mso-level-tab-stop:3.0in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l2:level7 - {mso-level-tab-stop:3.5in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l2:level8 - {mso-level-tab-stop:4.0in; - mso-level-number-position:left; - text-indent:-.25in;} -@list l2: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"; - mso-ansi-language:#0400; - mso-fareast-language:#0400; - mso-bidi-language:#0400;} -</style> -<![endif]--> -</head> - -<body lang=EN-US link=blue vlink=blue style='tab-interval:.5in'> - -<div class=Section1> - -<h2><span style='font-family:Verdana'>MUX.DLL � Sample Notify Object <o:p></o:p></span></h2> - -<h3><span style='font-family:Verdana'>SUMMARY<o:p></o:p></span></h3> - -<h3><span style='font-size:12.0pt;font-family:Verdana'>MUX Notify Object<o:p></o:p></span></h3> - -<p><span style='font-size:10.0pt;font-family:Verdana'>This sample demonstrates -how to write a notify object for installing and configuring an NDIS MUX intermediate -miniport (IM) driver that implements an N:1 relationship between upper and -lower bindings, i.e. it creates multiple virtual network devices on top of a -single lower adapter. Protocols bind to these virtual adapters as if they are -real adapters. Examples of <st1:place w:st="on"><st1:PlaceName w:st="on">Intermediate</st1:PlaceName> - <st1:PlaceType w:st="on">Miniport</st1:PlaceType></st1:place> drivers that can -use this type of notify <span class=GramE>object are</span> Virtual LAN (VLAN) -drivers.<o:p></o:p></span></p> - -<p><b style='mso-bidi-font-weight:normal'><span style='font-family:Verdana'>Operation</span></b><span -style='font-family:Verdana'><o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>During installation, the -notify object performs the following operations.<o:p></o:p></span></p> - -<p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2; -tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt; -font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span -style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'> -</span></span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>It -creates one virtual adapter for each physical adapter the MUX protocol edge -binds to.<o:p></o:p></span></p> - -<p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2; -tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt; -font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span -style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'> -</span></span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>It -disables the bindings of other protocols such as TCP/IP to physical adapters if -it has been compiled with DISABLE_PROTOCOLS_TO_PHYSICAL defined in the Sources -file. This is the most commonly desired behavior for N:1 MUX drivers.<o:p></o:p></span></p> - -<p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2; -tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt; -font-family:Symbol;mso-fareast-font-family:Symbol;mso-bidi-font-family:Symbol'><span -style='mso-list:Ignore'>�<span style='font:7.0pt "Times New Roman"'> -</span></span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>It -disables the bindings of the protocol edge of the MUX IM driver with all its -virtual adapters.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The notify object -provides a custom property page for the MUX IM driver. The custom property page -allows the user to add one or more virtual adapters on top of a physical -adapter or delete an existing virtual adapter.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>When the MUX IM driver is -uninstalled, or binding is disabled, or the user deletes all the virtual -adapters on top of a physical adapter, the notify object restores the bindings -of other protocols to the physical adapter if it has been compiled with the -preprocessor flag DISABLE_PROTOCOLS_TO_PHYSICAL defined in the Sources file.<o:p></o:p></span></p> - -<p><b style='mso-bidi-font-weight:normal'><span style='font-size:10.0pt; -font-family:Verdana'>Windows 2000 Specific<o:p></o:p></span></b></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>During the installation, -the notify object copies the INF file for the virtual adapter from the -installation media to the system INF directory by using the <span class=SpellE>SetupCopyOEMInf</span> -function. This is done because Windows 2000 does not support the <span -class=SpellE>CopyINF</span> directive to copy INF files from another INF file.<o:p></o:p></span></p> - -<h3><span style='font-family:Verdana'>BUILDING THE SAMPLE<o:p></o:p></span></h3> - -<p style='tab-stops:657.0pt'><span style='font-size:10.0pt;font-family:Verdana'>To -build the sample, type <b>build -ceZ</b>. This command produces the binary -mux.dll, which is the sample notify object.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The sample compiles -properly for 32-bit and 64-bit systems, and builds properly with Microsoft� -Visual C� 6.0.<o:p></o:p></span></p> - -<p><b style='mso-bidi-font-weight:normal'><span style='font-size:10.0pt; -font-family:Verdana'>Preprocessor Flags:<o:p></o:p></span></b></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>DISABLE_PROTOCOLS_TO_PHYSICAL<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>When this flag is defined -in the Sources file, the notify object disables the bindings of other protocols -such as TCP/IP to the physical adapters during the installation. When all the -virtual adapters are removed either through the custom property page or as a -result of uninstalling the MUX driver, the notify object re-enables those -bindings.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>PASSTHRU_NOTIFY<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>This flag is defined to -allow the MUX driver to be used in a passthru mode. When this flag is defined, -the notify object:<o:p></o:p></span></p> - -<p style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo4; -tab-stops:list .5in'><![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'>Creates -only one virtual miniport for every physical adapter the MUX protocol edge -binds to.<o:p></o:p></span></p> - -<p style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo4; -tab-stops:list .5in'><![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'>Disables -the property page to prevent adding of additional virtual miniports. <o:p></o:p></span></p> - -<p style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo4; -tab-stops:list .5in'><![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'>3)<span style='font:7.0pt "Times New Roman"'> -</span></span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Stores -the device name of the virtual adapter in REG_SZ registry value under -HKLM\System\<span class=SpellE>CurrentControlSet\Services\muxp\Parameters\Adapters</span><span -class=GramE>\{</span><span class=SpellE><i style='mso-bidi-font-style:normal'>PhysicalAdaptersInstanceGuid</i></span><i -style='mso-bidi-font-style:normal'>}\</i><span class=SpellE>UpperBindings</span>, -because there is one to one binding. In the MUX mode (when this flag is not -defined), the notify object stores the device name in a REG_MULTI_SZ registry -value as there could be more than one virtual miniports.<o:p></o:p></span></p> - -<p style='margin-left:.25in'><span style='font-size:10.0pt;font-family:Verdana'>You -can also use this notify object with the Passthru driver by doing the -following:<o:p></o:p></span></p> - -<p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo6; -tab-stops:list .5in'><![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'>Change -the protocol name in file <span class=SpellE>src\network\ndis\passthru\passthru.c</span> -from PASSTHRU to MUXP.<o:p></o:p></span></p> - -<p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo6; -tab-stops:list .5in'><![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'>Change -the driver name from Passthru to MUX in the sources file.<o:p></o:p></span></p> - -<p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo6; -tab-stops:list .5in'><![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'>3)<span style='font:7.0pt "Times New Roman"'> -</span></span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Rebuild -the driver to obtain a mux.sys driver binary.<o:p></o:p></span></p> - -<p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo6; -tab-stops:list .5in'><![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'>4)<span style='font:7.0pt "Times New Roman"'> -</span></span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Build -the MUX notify object with PASSTHRU_NOTIFY defined.<o:p></o:p></span></p> - -<p style='margin-left:.5in;text-indent:-.25in;mso-list:l2 level1 lfo6; -tab-stops:list .5in'><![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'>5)<span style='font:7.0pt "Times New Roman"'> -</span></span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Use -the MUX <span class=SpellE><span class=GramE>inf</span></span> files, <span -class=SpellE>muxp.inf</span> and <span class=SpellE>mux_mp.inf</span>, to -install the driver and <span class=SpellE>dll</span>.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The benefit of using -techniques in the MUX notify object for a 1:1 intermediate driver (e.g. -Passthru) is to be able to exercise higher level of control over the bindings -of MUX with other components in the system, which is not possible with the IM -filter driver.<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>CUSTOM_EVENTS<o:p></o:p></span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>When this macro is -defined, the notify object shows how to send custom events to the MUX IM driver -when a virtual miniport is added or removed.<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'>���������� </span>Description<o:p></o:p></u></pre><pre><span -class=SpellE>Dllmain.cpp</span><span style='mso-tab-count:1'>��� </span>File containing implementations of DLL entry point and exports. </pre><pre><span -class=SpellE>Implinc.cpp</span><span style='mso-tab-count:1'>��� </span>File including source code for ATL utilities.</pre><pre>mux.htm<span -style='mso-tab-count:2'>������� </span>The documentation for this sample.</pre><pre><span -class=SpellE>Pch.h</span><span style='mso-tab-count:2'>��������� </span>Pre-compiled header file.</pre><pre><span -class=SpellE>Resource.h</span><span style='mso-tab-count:1'>���� </span>The resource header.</pre><pre><span -class=SpellE>notify.cpp</span><span style='mso-tab-count:1'>���� </span>Notify object implementation.</pre><pre><span -class=SpellE>virtual.cpp</span><span style='mso-tab-count:1'>��� </span>Virtual adapter class implementation.</pre><pre><span -class=SpellE>adapter.cpp</span><span style='mso-tab-count:1'>��� </span>Physical adapter class implementation.</pre><pre><span -class=SpellE>common.cpp</span><span style='mso-tab-count:1'>���� </span>Global functions, variables and macro definitions.</pre><pre><span -class=SpellE>mux.def</span><span style='mso-tab-count:2'>������� </span>The sample's linker definition file.</pre><pre><span -class=SpellE>mux.h</span><span style='mso-tab-count:2'>��������� </span>The header file for <span -class=SpellE>mux.cpp</span>.</pre><pre><span class=SpellE>virtual.h</span><span -style='mso-tab-count:1'>����� </span>Virtual adapter class declaration.</pre><pre><span -class=SpellE>Adapter.h</span><span style='mso-tab-count:1'>����� </span>Physical adapter class declaration.</pre><pre><span -class=SpellE>notify.rc</span><span style='mso-tab-count:1'>����� </span>The resource file.</pre><pre><span -class=SpellE>notify.rgs</span><span style='mso-tab-count:1'>���� </span>Script-based registry.</pre><pre><span -class=SpellE>notifyn.idl</span><span style='mso-tab-count:1'>��� </span>The notify object's .<span -class=SpellE>idl</span> file.</pre><pre><span class=SpellE>setupdi.cpp</span><span -style='mso-tab-count:1'>��� </span>Functions to copy the miniport INF file to the system.</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'><b -style='mso-bidi-font-weight:normal'><a href="#_top"><span style='font-size: -10.0pt;font-family:Verdana;font-weight:normal'>Top of page</span></a></b><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-firstrow:yes;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"'>� 2004 Microsoft -Corporation</span><span style='font-size:10.0pt;font-family:Verdana'><o:p></o:p></span></p> - -</div> - -</body> - -</html> -
\ No newline at end of file diff --git a/network/ndis/ndisprot/6x/ndisprot.htm b/network/ndis/ndisprot/6x/ndisprot.htm deleted file mode 100644 index 3e854693..00000000 --- a/network/ndis/ndisprot/6x/ndisprot.htm +++ /dev/null @@ -1,393 +0,0 @@ -<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 11"> -<meta name=Originator content="Microsoft Word 11"> -<link rel=File-List href="ndisprot_files/filelist.xml"> -<title>Sample NDIS connection-less protocol driver sample</title> -<!--[if gte mso 9]><xml> - <w:WordDocument> - <w:ValidateAgainstSchemas/> - <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> - <w:IgnoreMixedContent>false</w:IgnoreMixedContent> - <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> - <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> - </w:WordDocument> -</xml><![endif]--><!--[if gte mso 9]><xml> - <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> - </w:LatentStyles> -</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:?????��???; - 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-alt:Tahoma; - 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:"\@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;} -@font-face - {font-family:"MS Sans Serif"; - panose-1:0 0 0 0 0 0 0 0 0 0; - mso-font-alt:Arial; - 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"; - 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";} -@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"; - mso-ansi-language:#0400; - mso-fareast-language:#0400; - mso-bidi-language:#0400;} -</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 connection-less protocol driver -sample<o:p></o:p></span></h2> - -<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 6.0 protocol. The driver supports sending and receiving -raw Ethernet frames using ReadFile/WriteFile calls from user-mode. It only -receives frames with a specific EtherType 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.<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 -ceZ</b> in the ndisprot -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;font-family:Verdana'>The driver is installed -using the INF file ndisprot.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>Sample NDIS -Protocol Driver </b>and click <b>OK</b>. After installing the protocol, copy -over the test application prottest.exe to a convenient location. Please note -that the driver service has been set to manual start in the INF file. As a -result, it doesn't get loaded automatically when you install.<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'>��������� </span>Net start ndisprot<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'>��������� </span>Net stop ndisprot<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 prottest. For help on usage, run prottest -?<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: PROTTEST [options] <devicename></pre><pre -style='margin-left:.5in'>options:</pre><pre style='margin-left:.5in'><span style='mso-spacerun:yes'>������ </span>-e: Enumerate devices</pre><pre -style='margin-left:.5in'><span style='mso-spacerun:yes'>������ </span>-r: Read</pre><pre -style='margin-left:.5in'><span style='mso-spacerun:yes'>������ </span>-w: Write (default)</pre><pre -style='margin-left:.5in'><span style='mso-spacerun:yes'>������ </span>-l <length>: length of each packet (default: 100)</pre><pre -style='margin-left:.5in'><span style='mso-spacerun:yes'>������ </span>-n <count>: number of packets (defaults to infinity)</pre><pre -style='margin-left:.5in'><span style='mso-spacerun:yes'>������ </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'>Prottest exercises the IOCTLs supported -by NDISPROT, and sends and/or receives data on the selected device. In order to -use prottest, the user must have administrative privilege. Users should pass -down a big enough buffer in order to receive the entire received data. If the -length of the buffer passed down is smaller than the length of the received -data, NDISPROT will only copy part of the data and discard the rest when the -given buffer is full.<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'><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 �e option to enumerate all -devices to which NDISPROT is bound:<o:p></o:p></span></p> - -<pre style='margin-left:.5in'>C:\prot>prottest -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'>���� </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 prottest is picked up from the output of prottest �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:\prot>prottest -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> - -<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'>For -security reasons, this driver does not allow packets with fake MAC addresses to -be sent from usermode applications.<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'>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 -ndisprot.sys, you can control the volume of debug information generated by -changing the variable ndisprotDebugLevel. 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><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><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><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><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><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'>������������ </span><u>Description</u><span -style='mso-tab-count:1'>����� </span><o:p></o:p></span></pre><pre><span -style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>prottest.c<span -style='mso-tab-count:1'>������ </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><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><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><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><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><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'>������������ </span><u>Description</u><span -style='mso-tab-count:1'>����� </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'>��������� </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'>��������� </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'>�������� </span>Spinlock, event, referencing macros<o:p></o:p></span></pre><pre><span -style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>ndisbind.c<span -style='mso-tab-count:1'>������ </span>NDIS protocol entry points to handle binding/unbinding from adapters<o:p></o:p></span></pre><pre><span -style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>ndisprot.h<span -style='mso-tab-count:1'>������ </span>Data structure definitions<o:p></o:p></span></pre><pre><span -style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>ndisprot.inf<span -style='mso-tab-count:1'>���� </span>INF file for installing NDISPROT<o:p></o:p></span></pre><pre><span -style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>ntdisp.c<span -style='mso-tab-count:2'>�������� </span>NT Entry points and dispatch routines for NDISPROT<o:p></o:p></span></pre><pre><span -style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>protuser.h<span -style='mso-tab-count:1'>������ </span>IOCTL and associated structure definitions<o:p></o:p></span></pre><pre><span -style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>recv.c<span -style='mso-tab-count:2'>���������� </span>NDIS protocol entry points for receiving data, and IRP_MJ_READ processing<o:p></o:p></span></pre><pre><span -style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>send.c<span -style='mso-tab-count:2'>���������� </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-firstrow:yes;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"'>� Microsoft Corporation -2000</span><span style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></p> - -</div> - -</body> - -</html> diff --git a/network/ndis/ndisprot_kmdf/ndisprot.htm b/network/ndis/ndisprot_kmdf/ndisprot.htm deleted file mode 100644 index 88dc4d38..00000000 --- a/network/ndis/ndisprot_kmdf/ndisprot.htm +++ /dev/null @@ -1,197 +0,0 @@ -<html> - -<head> -<title>Sample NDIS connection-less protocol driver sample</title> -</head> - -<body lang=EN-US link=blue vlink=blue style='tab-interval:.5in'> - -<div class=Section1> - -<h2><span style='font-family:Verdana'>NDIS connection-less protocol driver sample</span></h2> - -<h3><span style='font-family:Verdana'>SUMMARY</span></h3> - -<p><span style='font-size:10.0pt;font-family:Verdana'>This sample demonstrates a connection-less -NDIS 5.0, 5.1 or 6.0 protocol driver. The driver supports sending and receiving raw Ethernet -frames using ReadFile/WriteFile calls from user-mode. 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.</span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The sample works on Windows 2000 and later -platforms.</span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The sample also demonstrates how to write -a Notify Object dll. The Notify Object is used for calling into the Wdf Coinstaller to install -and load the framework library.</span></p> - -<h3><span style='font-family:Verdana'>BUILDING THE SAMPLE</span></h3> - -<p><span style='font-size:10.0pt;font-family:Verdana'>From the Free or Checked Build environment, -execute <b>build -ceZ</b> in the ndisprot directory.</span></p> -<p> -<p><span style='font-size:10.0pt;font-family:Verdana'>Depending on the build environment, the 50 -subdirectory produces either NDIS5.0 or NDIS 5.1 compatible driver. If built in the Windows 2000 -build environment, it will produce NDIS 5.0 compatible driver. If it's built in the Windows XP or -Window Server 2003 build environment, it will produce NDIS 5.1 compatible driver.</span></p> -<p> -<p><span style='font-size:10.0pt;font-family:Verdana'>The 60 subdirectory can be built only in the -Windows Vista build environment. The sample built in this sub directory will be NDIS 6.0 compatible -and will work on Windows Vista and later operating systems.</span></p> - - -<h3><span style='font-family:Verdana'>INSTALLATION</span></h3> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The driver is installed using the INF file -ndisprot.inf, which is provided in the driver directory. In Network Connections UI, select an -adapter and open <b>Properties</b>.</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.</span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>Select <b>Sample NDIS Protocol Driver </b>and -click <b>OK</b>. After installing the protocol, copy over the test application files uiotest.exe and -protest.exe to a convenient location. Please note that the driver service has been set to manual -start in the INF file. As a result, it doesn't get loaded automatically when you install.</span></p> - -<h3><span style='font-family:Verdana'>USAGE</span></h3> - -<p><span style='font-size:10.0pt;font-family:Verdana'>To start the driver, type<br> -<span style='mso-tab-count:1'>��������� </span>Net start ndisprot</span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>To stop the driver, type<br> -<span style='mso-tab-count:1'>��������� </span>Net stop ndisprot</span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>To test the NDIS 5.x driver, run uiotest. -For help on usage, run uiotest -?</span></p> - -<pre style='margin-left:.5in'> -usage: UIOTEST [options] <devicename> -options: -<span style='mso-spacerun:yes'>������ </span>-e: Enumerate devices -<span style='mso-spacerun:yes'>������ </span>-r: Read -<span style='mso-spacerun:yes'>������ </span>-w: Write (default) -<span style='mso-spacerun:yes'>������ </span>-l <length>: length of each packet (default: 100) -<span style='mso-spacerun:yes'>������ </span>-n <count>: number of packets (defaults to infinity) -<span style='mso-spacerun:yes'>������ </span>-m <MAC address> (defaults to local MAC)</pre> - -<p><span style='font-size:10.0pt;font-family:Verdana'>To test the NDIS 6.0 driver, run prottest. -For help on usage, run prottest -?</span></p> - -<pre style='margin-left:.5in'> -usage: PROTTEST [options] <devicename> -options: -<span style='mso-spacerun:yes'>������ </span>-e: Enumerate devices -<span style='mso-spacerun:yes'>������ </span>-r: Read -<span style='mso-spacerun:yes'>������ </span>-w: Write (default) -<span style='mso-spacerun:yes'>������ </span>-l <length>: length of each packet (default: 100) -<span style='mso-spacerun:yes'>������ </span>-n <count>: number of packets (defaults to infinity) -<span style='mso-spacerun:yes'>������ </span>-m <MAC address> (defaults to local MAC)</pre> - -<p><span style='font-size:10.0pt;font-family:Verdana'>Uiotest/Prottest exercises the IOCTLs supported by -NDISPROT, and sends and/or receives data on the selected device. In order to use uiotest/prottest, the -user must have administrative privilege. Users should pass down a big enough buffer in order to receive -the entire received data. If the length of the buffer passed down is smaller than the length of the -received data, NDISPROT will only copy part of the data and discard the rest when the given buffer is -full.</span></p> - -<p><span style='font-size:10.0pt;font-family:Verdana'>For NDIS 5.x driver, use the �e option on uiotest -to enumerate all devices to which NDISPROT is bound:</span></p> - -<pre style='margin-left:.5in'> -C:\uio>uiotest -e - 0. \DEVICE\{9273DA7D-5275-4B9A-AC56-68A49D121F1F} -<span style='mso-spacerun:yes'>���� </span>- Intel-Based 10/100 Ethernet Card</pre> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The following command sends and receives 2 packets -on a device. Since these packets are sent to the local MAC address (default), both packets are received. -The device name parameter to uiotest is picked up from the output of uiotest �e (see above).</span></p> - -<pre style='margin-left:.5in'> -C:\uio>uiotest -n 2 \DEVICE\{9273DA7D-5275-4B9A-AC56-68A49D121F1F} -DoWriteProc: finished sending 2 packets of 100 bytes each -DoReadProc finished: read 2 packets</pre> - -<p><span style='font-size:10.0pt;font-family:Verdana'>For NDIS 6.0 driver, use the �e option on prottest -to enumerate all devices to which NDISPROT is bound:</span></p> - -<pre style='margin-left:.5in'> -C:\prot>prottest -e - 0. \DEVICE\{9273DA7D-5275-4B9A-AC56-68A49D121F1F} -<span style='mso-spacerun:yes'>���� </span>- Intel-Based 10/100 Ethernet Card</pre> - -<p><span style='font-size:10.0pt;font-family:Verdana'>The following command sends and receives 2 packets -on a device. Since these packets are sent to the local MAC address (default), both packets are received. -The device name parameter to prottest is picked up from the output of protest �e (see above).</span></p> - -<pre style='margin-left:.5in'> -C:\prot>prottest -n 2 \DEVICE\{9273DA7D-5275-4B9A-AC56-68A49D121F1F} -DoWriteProc: finished sending 2 packets of 100 bytes each -DoReadProc finished: read 2 packets</pre> - -<p><span style='font-size:10.0pt;font-family:Verdana'>For security reasons, this driver does not allow -packets with fake MAC addresses to be sent from usermode applications.</span></p> - - -<h3><span style='font-family:Verdana'>TIPS</span></h3> - -<p><span style='font-size:10.0pt;font-family:Verdana'>With a checked version of ndisprot.sys, you can -control the volume of debug information generated by changing the variable ndisprotDebugLevel. Refer to -debug.h for more information.</span></p> - -<h3><span style='font-family:Verdana'>CODE TOUR</span></h3> - -<h4><span style='font-family:Verdana'>File Manifest</span></h4> - -<pre><span style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><b>Directory: 50, 60</b> -<u>File</u><span style='mso-tab-count:2'>������������ </span><u>Description</u> -debug.c<span style='mso-tab-count:2'>����������</span>Routines to aid debugging -debug.h<span style='mso-tab-count:2'>��������� </span>Debug macro definitions -excallbk.c<span style='mso-tab-count:1'>������ </span>Handles load order dependency between this sample and NDISWDM sample -macros.h<span style='mso-tab-count:2'>�������� </span>Spinlock, event, referencing macros -ndisbind.c<span style='mso-tab-count:1'>������ </span>NDIS protocol entry points to handle binding/unbinding from adapters -ndisprot.h<span style='mso-tab-count:1'>������ </span>Data structure definitions -precomp.h<span style='mso-tab-count:1'>������ </span>Contains the precompiled headers -protuser.h<span style='mso-tab-count:1'>������ </span>Has the definitions of ioctls issued by protuser.exe application used on NDIS 6.0 -nuiouser.h<span style='mso-tab-count:1'>������ </span>Has the definitions of ioctls issued by nuiouser.exe application used on NDIS 5.0 -ndisprot.inf<span style='mso-tab-count:1'>���� </span>INF file for installing NDISPROT -ntdisp.c<span style='mso-tab-count:2'>�������� </span>NT Entry points and dispatch routines for NDISPROT -recv.c<span style='mso-tab-count:2'>���������� </span>NDIS protocol entry points for receiving data, and IRP_MJ_READ processing -send.c<span style='mso-tab-count:2'>���������� </span>NDIS protocol routines for sending data, and IRP_MJ_WRITE processing</span></pre> - -<pre><span style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><b>Directory: NotifyOb</b> -<u>File</u><span style='mso-tab-count:2'>������������ </span><u>Description</u> -Common.hpp<span style='mso-tab-count:1'>�������</span>Header file containing the common include files for the project -dllmain.cpp<span style='mso-tab-count:1'>������</span>Handles loading/unloading of Wdf Coinstaller and the notify object dll -ProtNotify.cpp<span style='mso-tab-count:1'>���</span>Handles loading/unloading the WDF loader during the device installation/removal -ProtNotify.idl<span style='mso-tab-count:1'>���</span>Defines the interfaces for the notify object dll -ProtNotify.def<span style='mso-tab-count:1'>���</span>Defines the exports of notify object dll - -ProtNotify.rc<span style='mso-tab-count:1'>����</span>Resource file for the notify object dll -resource.h<span style='mso-tab-count:1'>������ </span>Defines the resource ids used by the notify object</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-firstrow:yes;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"'>� Microsoft Corporation -2000</span><span style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></p> - -</div> - -</body> - -</html> - - |
