Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
<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 9"> <meta name=Originator content="Microsoft Word 9"> <link rel=File-List href="./CoIsdn_files/filelist.xml"> <title>ATM</title> <style> <!--
/* Font Definitions */ @font-face {font-family:Courier; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-alt:"Courier New"; 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:"MS Sans Serif"; panose-1:0 0 0 0 0 0 0 0 0 0; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-format:other; mso-font-pitch:variable; mso-font-signature:3 0 0 0 1 0;} @font-face {font-family:Wingdings; panose-1:5 0 0 0 0 0 0 0 0 0; mso-font-charset:2; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:0 268435456 0 0 -2147483648 0;} @font-face {font-family:Verdana; panose-1:2 11 6 4 3 5 4 4 2 4; mso-font-charset:0; mso-generic-font-family:swiss; mso-font-pitch:variable; mso-font-signature:536871559 0 0 0 415 0;} /* 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";} 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 {margin-right:0in; mso-margin-top-alt:auto; 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;} /* List Definitions */ @list l0 {mso-list-id:65881998; mso-list-type:hybrid; mso-list-template-ids:-1085510618 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 l1 {mso-list-id:583034453; mso-list-type:hybrid; mso-list-template-ids:250782256 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @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; font-family:Symbol;} @list l2 {mso-list-id:891771222; mso-list-type:hybrid; mso-list-template-ids:-438123452 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @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; font-family:Symbol;} @list l3 {mso-list-id:1381594568; mso-list-type:hybrid; mso-list-template-ids:-1566251202 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @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; font-family:Symbol;} @list l4 {mso-list-id:1604151169; mso-list-type:hybrid; mso-list-template-ids:771667776 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;} @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; font-family:Symbol;} @list l5 {mso-list-id:1679502962; mso-list-type:hybrid; mso-list-template-ids:-211252370 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;} @list l5:level1 {mso-level-tab-stop:.5in; mso-level-number-position:left; text-indent:-.25in;} ol {margin-bottom:0in;} ul {margin-bottom:0in;} --> </style> </head>
<body lang=EN-US link=blue vlink=blue style='tab-interval:.5in'>
<div class=Section1>
<h2><span style='font-family:Verdana'>Connection Oriented NDIS Miniport ISDN Sample<o:p></o:p></span></h2>
<p><span style='font-size:10.0pt;font-family:Arial;color:red'>[This is preliminary documentation and subject to change.]</span><span style='font-size: 10.0pt;font-family:Verdana'><o:p></o:p></span></p>
<h3><span style='font-family:Verdana'>SUMMARY<o:p></o:p></span></h3>
<p><span style='font-size:10.0pt;font-family:Verdana'>This sample demonstrates a connection-oriented NDIS 5.0 client.<span style="mso-spacerun: yes">� </span>It shows how to establish and tear down a PPP or multi-link PPP connection over an ISDN type device. This sample emulates an ISDN device with 2 or more channels as defined in the INF file at install time.<span style="mso-spacerun: yes">� </span>Connections are emulated by placing outgoing calls on one channel of an adapter to another channel on the same or different adapter.<span style="mso-spacerun: yes">�� </span><o:p></o:p></span></p>
<p><span style='font-size:10.0pt;font-family:Verdana'>Windows Remote Access interfaces allow you to do the following with the driver:<o:p></o:p></span></p>
<ul type=disc> <li class=MsoNormal style='margin-right:.5in;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'>Establish a loop-back PPP connection to the local machine.<o:p></o:p></span></li> <li class=MsoNormal style='margin-right:.5in;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'>Send directed TCP/IP data over the established connection.<o:p></o:p></span></li> <li class=MsoNormal style='margin-right:.5in;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'>Tear down a connection that was previously established. <o:p></o:p></span></li> </ul>
<p><span style='font-size:10.0pt;font-family:Verdana'>The sample works on both X86 and IA64. Both checked and free builds are available. <o:p></o:p></span></p>
<h3><span style='font-family:Verdana'>BUILDING THE SAMPLE<o:p></o:p></span></h3>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>From the Free or Checked Build environment, execute <b>build</b> in the CoIsdn directory. <o:p></o:p></span></p>
<h3><span style='font-family:Verdana'>INSTALLATION<o:p></o:p></span></h3>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Since the sample driver requires no PNP hardware, it must be installed manually.<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'>�<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Start the Add Hardware Wizard.<span style="mso-spacerun: yes">� </span>After it scans for new PNP hardware, select to <b>add a new device</b>, then select to add a <b>Network Adapter</b>.<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'>�<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>When asked to select the adapter, select <b>Have Disk</b>.<span style="mso-spacerun: yes">� </span>Then point to the location of the CoIsdn.inf and CoIsdn.sys files.<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'>�<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Select <b>TriplePoint COISDN Adapter</b> and click <b>OK</b>.<o:p></o:p></span></p>
<p><span style='font-size:10.0pt;font-family:Verdana'>Once the network adapter is installed, you need to setup to allow an incoming connection from the device.<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:Symbol'>�<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Start the <b>New Connection</b> Wizard from the Network Connections setup page.<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:Symbol'>�<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Setup an advanced connection to accept <b>incoming connections</b>.<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:Symbol'>�<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Check the box selecting the <b>TriplePoint COISDN Adapter</b> as the connection device.<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:Symbol'>�<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Do not setup for incoming VPN connections.<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:Symbol'>�<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Select the users you want to allow dial-in access.<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:Symbol'>�<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Configure TCP/IP to use fixed IP addresses from the range (192.168.111.1 � 192.168.111.99)<o:p></o:p></span></p>
<p><span style='font-size:10.0pt;font-family:Verdana'>Once you have setup to allow incoming connections, you need to setup an outgoing dialup connection.<o:p></o:p></span></p>
<p style='margin-left:.5in;text-indent:-.25in;mso-list:l3 level1 lfo6; tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt; font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Start the <b>New Connection</b> Wizard from the Network Connections setup page.<o:p></o:p></span></p>
<p style='margin-left:.5in;text-indent:-.25in;mso-list:l3 level1 lfo6; tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt; font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Setup a connection to use a <b>dial-up modem</b>.<o:p></o:p></span></p>
<p style='margin-left:.5in;text-indent:-.25in;mso-list:l3 level1 lfo6; tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt; font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Check one of the boxes selecting either of the <b>TriplePoint COISDN Adapter</b> channels.<o:p></o:p></span></p>
<p style='margin-left:.5in;text-indent:-.25in;mso-list:l3 level1 lfo6; tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt; font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>When asked for the number to dial, enter �0� which tells the driver to connect to any unused channel.<o:p></o:p></span></p>
<p style='margin-left:.5in;text-indent:-.25in;mso-list:l3 level1 lfo6; tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt; font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Configure the settings to use only TCP/IP (other connections will fail to negotiate PPP since the call is answered by the same PC).<o:p></o:p></span></p>
<h3><span style='font-family:Verdana'>USAGE<o:p></o:p></span></h3>
<p><span style='font-size:10.0pt;font-family:Verdana'>You can place a call by double clicking the outgoing dial-up connection you created above.<span style="mso-spacerun: yes">� </span>Because the call originates and terminates within the same PC, most applications will not make use of the connection for data traffic.<span style="mso-spacerun: yes">�� </span>The sample can be used with the NDIS Tester to verify basic NDIS and RAS functionality.<span style="mso-spacerun: yes">� </span><o:p></o:p></span></p>
<h3><span style='font-family:Verdana'>TIPS<o:p></o:p></span></h3>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>With a checked binary, you can control the volume of debug information generated by changing the registry variable DebugFlags.<span style="mso-spacerun: yes">� </span>Refer to TpiDebug.h for more information.<span style="mso-spacerun: yes">�� </span>Set the debug flags to 0x86FF to capture a full trace with the debugger.<span style="mso-spacerun: yes">� </span>This will help you understand the call sequence that occurs on both the incoming and outgoing sides of the connection, and it will be useful to refer to when you start making changes for your hardware.<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><![if !supportEmptyParas]> <![endif]><o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Search the source code for SAMPLE_DRIVER and TODO to begin modifying the code for use with your custom hardware.<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><span style='font-size:7.5pt;font-family:Courier'>File</span></u><span style='font-size:7.5pt;font-family:Courier'><span style='mso-tab-count:1'>����� </span><u>Description</u><span style='mso-tab-count:1'>������� </span><o:p></o:p></span></pre><pre><span style='font-size:7.5pt;font-family:Courier'>Adapter.c<span style='mso-tab-count: 1'> </span>Miniport adapter structure related routines.<o:p></o:p></span></pre><pre><span style='font-size:7.5pt;font-family:Courier'>BChannel.c<span style='mso-tab-count: 1'>�������� </span>B-channel structure related routines (N B-channels per port).<o:p></o:p></span></pre><pre><span style='font-size:7.5pt;font-family:Courier'>CallMgr.c<span style='mso-tab-count: 1'> </span>Interface to the call manager.<o:p></o:p></span></pre><pre><span style='font-size:7.5pt;font-family:Courier'>Card.c<span style='mso-tab-count: 1'>��� </span>Card structure related routines (1 card per adapter).<o:p></o:p></span></pre><pre><span style='font-size:7.5pt;font-family:Courier'>DChannel.c<span style='mso-tab-count: 1'>�������� </span>Logical D-channel structure related routines (1 D-channel per card).<o:p></o:p></span></pre><pre><span style='font-size:7.5pt;font-family:Courier'>Interupt.c<span style='mso-tab-count: 1'>�������� </span>Interrupt related routines.<o:p></o:p></span></pre><pre><span style='font-size:7.5pt;font-family:Courier'>Miniport.c<span style='mso-tab-count: 1'>�������� </span>Driver entry and initialization routines.<o:p></o:p></span></pre><pre><span style='font-size:7.5pt;font-family:Courier'>Port.c<span style='mso-tab-count: 1'>��� </span>Port structure related routines (N ports per card).<o:p></o:p></span></pre><pre><span style='font-size:7.5pt;font-family:Courier'>Receive.c<span style='mso-tab-count: 1'> </span>Packet receive related routines.<o:p></o:p></span></pre><pre><span style='font-size:7.5pt;font-family:Courier'>Request.c<span style='mso-tab-count: 1'> </span>NDIS request routines.<o:p></o:p></span></pre><pre><span style='font-size:7.5pt;font-family:Courier'>TpiDebug.c<span style='mso-tab-count: 1'>�������� </span>Debug output routines used in debug build.<o:p></o:p></span></pre><pre><span style='font-size:7.5pt;font-family:Courier'>TpiMem.c<span style='mso-tab-count: 1'>� </span>Memory management routines used for debug build.<o:p></o:p></span></pre><pre><span style='font-size:7.5pt;font-family:Courier'>TpiParam.c<span style='mso-tab-count: 1'>�������� </span>Table driven registry parsing routines.<o:p></o:p></span></pre><pre><span style='font-size:7.5pt;font-family:Courier'>Transmit.c<span style='mso-tab-count: 1'>�������� </span>Packet send related routines.<o:p></o:p></span></pre><pre><span style='font-size:7.5pt;font-family:Courier'>CoIsdn.inf<span style='mso-tab-count: 1'>�������� </span>Installation file.<o:p></o:p></span></pre>
<p align=center style='text-align:center;tab-stops: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 border=0 cellspacing=0 cellpadding=0 width=624 style='width:5.2in; mso-cellspacing:0in;mso-padding-alt:0in 0in 0in 0in'> <tr style='height:1.2pt'> <td style='background:aqua;padding:.75pt .75pt .75pt .75pt;height:1.2pt'> <p class=MsoNormal><![if !supportEmptyParas]> <![endif]><o:p></o:p></p> </td> </tr> </table>
<p style='tab-stops: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 2001</span><span style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></p>
</div>
</body>
</html>
|