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.

399 lines
19 KiB

  1. <html xmlns:o="urn:schemas-microsoft-com:office:office"
  2. xmlns:w="urn:schemas-microsoft-com:office:word"
  3. xmlns="http://www.w3.org/TR/REC-html40">
  4. <head>
  5. <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
  6. <meta name=ProgId content=Word.Document>
  7. <meta name=Generator content="Microsoft Word 9">
  8. <meta name=Originator content="Microsoft Word 9">
  9. <link rel=File-List href="./CoIsdn_files/filelist.xml">
  10. <title>ATM</title>
  11. <style>
  12. <!--
  13. /* Font Definitions */
  14. @font-face
  15. {font-family:Courier;
  16. panose-1:0 0 0 0 0 0 0 0 0 0;
  17. mso-font-alt:"Courier New";
  18. mso-font-charset:0;
  19. mso-generic-font-family:modern;
  20. mso-font-format:other;
  21. mso-font-pitch:fixed;
  22. mso-font-signature:3 0 0 0 1 0;}
  23. @font-face
  24. {font-family:"MS Sans Serif";
  25. panose-1:0 0 0 0 0 0 0 0 0 0;
  26. mso-font-charset:0;
  27. mso-generic-font-family:swiss;
  28. mso-font-format:other;
  29. mso-font-pitch:variable;
  30. mso-font-signature:3 0 0 0 1 0;}
  31. @font-face
  32. {font-family:Wingdings;
  33. panose-1:5 0 0 0 0 0 0 0 0 0;
  34. mso-font-charset:2;
  35. mso-generic-font-family:auto;
  36. mso-font-pitch:variable;
  37. mso-font-signature:0 268435456 0 0 -2147483648 0;}
  38. @font-face
  39. {font-family:Verdana;
  40. panose-1:2 11 6 4 3 5 4 4 2 4;
  41. mso-font-charset:0;
  42. mso-generic-font-family:swiss;
  43. mso-font-pitch:variable;
  44. mso-font-signature:536871559 0 0 0 415 0;}
  45. /* Style Definitions */
  46. p.MsoNormal, li.MsoNormal, div.MsoNormal
  47. {mso-style-parent:"";
  48. margin:0in;
  49. margin-bottom:.0001pt;
  50. mso-pagination:widow-orphan;
  51. font-size:12.0pt;
  52. font-family:"Times New Roman";
  53. mso-fareast-font-family:"Times New Roman";}
  54. a:link, span.MsoHyperlink
  55. {color:blue;
  56. text-decoration:underline;
  57. text-underline:single;}
  58. a:visited, span.MsoHyperlinkFollowed
  59. {color:blue;
  60. text-decoration:underline;
  61. text-underline:single;}
  62. p
  63. {margin-right:0in;
  64. mso-margin-top-alt:auto;
  65. mso-margin-bottom-alt:auto;
  66. margin-left:0in;
  67. mso-pagination:widow-orphan;
  68. font-size:12.0pt;
  69. font-family:"Times New Roman";
  70. mso-fareast-font-family:"Times New Roman";}
  71. pre
  72. {margin:0in;
  73. margin-bottom:.0001pt;
  74. mso-pagination:widow-orphan;
  75. 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;
  76. font-size:10.0pt;
  77. font-family:"Courier New";
  78. mso-fareast-font-family:"Courier New";}
  79. @page Section1
  80. {size:8.5in 11.0in;
  81. margin:1.0in 1.25in 1.0in 1.25in;
  82. mso-header-margin:.5in;
  83. mso-footer-margin:.5in;
  84. mso-paper-source:0;}
  85. div.Section1
  86. {page:Section1;}
  87. /* List Definitions */
  88. @list l0
  89. {mso-list-id:65881998;
  90. mso-list-type:hybrid;
  91. mso-list-template-ids:-1085510618 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
  92. @list l0:level1
  93. {mso-level-number-format:bullet;
  94. mso-level-text:\F0B7;
  95. mso-level-tab-stop:.5in;
  96. mso-level-number-position:left;
  97. text-indent:-.25in;
  98. font-family:Symbol;}
  99. @list l1
  100. {mso-list-id:583034453;
  101. mso-list-type:hybrid;
  102. mso-list-template-ids:250782256 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
  103. @list l1:level1
  104. {mso-level-number-format:bullet;
  105. mso-level-text:\F0B7;
  106. mso-level-tab-stop:.5in;
  107. mso-level-number-position:left;
  108. text-indent:-.25in;
  109. font-family:Symbol;}
  110. @list l2
  111. {mso-list-id:891771222;
  112. mso-list-type:hybrid;
  113. mso-list-template-ids:-438123452 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
  114. @list l2:level1
  115. {mso-level-number-format:bullet;
  116. mso-level-text:\F0B7;
  117. mso-level-tab-stop:.5in;
  118. mso-level-number-position:left;
  119. text-indent:-.25in;
  120. font-family:Symbol;}
  121. @list l3
  122. {mso-list-id:1381594568;
  123. mso-list-type:hybrid;
  124. mso-list-template-ids:-1566251202 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
  125. @list l3:level1
  126. {mso-level-number-format:bullet;
  127. mso-level-text:\F0B7;
  128. mso-level-tab-stop:.5in;
  129. mso-level-number-position:left;
  130. text-indent:-.25in;
  131. font-family:Symbol;}
  132. @list l4
  133. {mso-list-id:1604151169;
  134. mso-list-type:hybrid;
  135. mso-list-template-ids:771667776 67698689 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
  136. @list l4:level1
  137. {mso-level-number-format:bullet;
  138. mso-level-text:\F0B7;
  139. mso-level-tab-stop:.5in;
  140. mso-level-number-position:left;
  141. text-indent:-.25in;
  142. font-family:Symbol;}
  143. @list l5
  144. {mso-list-id:1679502962;
  145. mso-list-type:hybrid;
  146. mso-list-template-ids:-211252370 67698703 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
  147. @list l5:level1
  148. {mso-level-tab-stop:.5in;
  149. mso-level-number-position:left;
  150. text-indent:-.25in;}
  151. ol
  152. {margin-bottom:0in;}
  153. ul
  154. {margin-bottom:0in;}
  155. -->
  156. </style>
  157. </head>
  158. <body lang=EN-US link=blue vlink=blue style='tab-interval:.5in'>
  159. <div class=Section1>
  160. <h2><span style='font-family:Verdana'>Connection Oriented NDIS Miniport ISDN
  161. Sample<o:p></o:p></span></h2>
  162. <p><span style='font-size:10.0pt;font-family:Arial;color:red'>[This is
  163. preliminary documentation and subject to change.]</span><span style='font-size:
  164. 10.0pt;font-family:Verdana'><o:p></o:p></span></p>
  165. <h3><span style='font-family:Verdana'>SUMMARY<o:p></o:p></span></h3>
  166. <p><span style='font-size:10.0pt;font-family:Verdana'>This sample demonstrates
  167. a connection-oriented NDIS 5.0 client.<span style="mso-spacerun: yes">
  168. </span>It shows how to establish and tear down a PPP or multi-link PPP
  169. connection over an ISDN type device. This sample emulates an ISDN device with 2
  170. or more channels as defined in the INF file at install time.<span
  171. style="mso-spacerun: yes">� </span>Connections are emulated by placing outgoing
  172. calls on one channel of an adapter to another channel on the same or different
  173. adapter.<span style="mso-spacerun: yes">�� </span><o:p></o:p></span></p>
  174. <p><span style='font-size:10.0pt;font-family:Verdana'>Windows Remote Access
  175. interfaces allow you to do the following with the driver:<o:p></o:p></span></p>
  176. <ul type=disc>
  177. <li class=MsoNormal style='margin-right:.5in;mso-margin-top-alt:auto;
  178. mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo9;tab-stops:list .5in'><span
  179. style='font-size:10.0pt;font-family:Verdana'>Establish a loop-back PPP
  180. connection to the local machine.<o:p></o:p></span></li>
  181. <li class=MsoNormal style='margin-right:.5in;mso-margin-top-alt:auto;
  182. mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo9;tab-stops:list .5in'><span
  183. style='font-size:10.0pt;font-family:Verdana'>Send directed TCP/IP data
  184. over the established connection.<o:p></o:p></span></li>
  185. <li class=MsoNormal style='margin-right:.5in;mso-margin-top-alt:auto;
  186. mso-margin-bottom-alt:auto;mso-list:l2 level1 lfo9;tab-stops:list .5in'><span
  187. style='font-size:10.0pt;font-family:Verdana'>Tear down a connection that
  188. was previously established. <o:p></o:p></span></li>
  189. </ul>
  190. <p><span style='font-size:10.0pt;font-family:Verdana'>The sample works on both
  191. X86 and IA64. Both checked and free builds are available. <o:p></o:p></span></p>
  192. <h3><span style='font-family:Verdana'>BUILDING THE SAMPLE<o:p></o:p></span></h3>
  193. <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>From the
  194. Free or Checked Build environment, execute <b>build</b> in the CoIsdn
  195. directory. <o:p></o:p></span></p>
  196. <h3><span style='font-family:Verdana'>INSTALLATION<o:p></o:p></span></h3>
  197. <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Since the
  198. sample driver requires no PNP hardware, it must be installed manually.<o:p></o:p></span></p>
  199. <p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2;
  200. tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt;
  201. font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  202. </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Start
  203. the Add Hardware Wizard.<span style="mso-spacerun: yes"></span>After it scans
  204. for new PNP hardware, select to <b>add a new device</b>, then select to add a <b>Network
  205. Adapter</b>.<o:p></o:p></span></p>
  206. <p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2;
  207. tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt;
  208. font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  209. </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>When
  210. asked to select the adapter, select <b>Have Disk</b>.<span style="mso-spacerun:
  211. yes">� </span>Then point to the location of the CoIsdn.inf and CoIsdn.sys
  212. files.<o:p></o:p></span></p>
  213. <p style='margin-left:.5in;text-indent:-.25in;mso-list:l0 level1 lfo2;
  214. tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt;
  215. font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  216. </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Select
  217. <b>TriplePoint COISDN Adapter</b> and click <b>OK</b>.<o:p></o:p></span></p>
  218. <p><span style='font-size:10.0pt;font-family:Verdana'>Once the network adapter
  219. is installed, you need to setup to allow an incoming connection from the
  220. device.<o:p></o:p></span></p>
  221. <p style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo4;
  222. tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt;
  223. font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  224. </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Start
  225. the <b>New Connection</b> Wizard from the Network Connections setup page.<o:p></o:p></span></p>
  226. <p style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo4;
  227. tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt;
  228. font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  229. </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Setup
  230. an advanced connection to accept <b>incoming connections</b>.<o:p></o:p></span></p>
  231. <p style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo4;
  232. tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt;
  233. font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  234. </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Check
  235. the box selecting the <b>TriplePoint COISDN Adapter</b> as the connection
  236. device.<o:p></o:p></span></p>
  237. <p style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo4;
  238. tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt;
  239. font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  240. </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Do
  241. not setup for incoming VPN connections.<o:p></o:p></span></p>
  242. <p style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo4;
  243. tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt;
  244. font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  245. </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Select
  246. the users you want to allow dial-in access.<o:p></o:p></span></p>
  247. <p style='margin-left:.5in;text-indent:-.25in;mso-list:l1 level1 lfo4;
  248. tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt;
  249. font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  250. </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Configure
  251. TCP/IP to use fixed IP addresses from the range (192.168.111.1 �
  252. 192.168.111.99)<o:p></o:p></span></p>
  253. <p><span style='font-size:10.0pt;font-family:Verdana'>Once you have setup to
  254. allow incoming connections, you need to setup an outgoing dialup connection.<o:p></o:p></span></p>
  255. <p style='margin-left:.5in;text-indent:-.25in;mso-list:l3 level1 lfo6;
  256. tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt;
  257. font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  258. </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Start
  259. the <b>New Connection</b> Wizard from the Network Connections setup page.<o:p></o:p></span></p>
  260. <p style='margin-left:.5in;text-indent:-.25in;mso-list:l3 level1 lfo6;
  261. tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt;
  262. font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  263. </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Setup
  264. a connection to use a <b>dial-up modem</b>.<o:p></o:p></span></p>
  265. <p style='margin-left:.5in;text-indent:-.25in;mso-list:l3 level1 lfo6;
  266. tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt;
  267. font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  268. </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Check
  269. one of the boxes selecting either of the <b>TriplePoint COISDN Adapter</b> channels.<o:p></o:p></span></p>
  270. <p style='margin-left:.5in;text-indent:-.25in;mso-list:l3 level1 lfo6;
  271. tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt;
  272. font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  273. </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>When
  274. asked for the number to dial, enter �0� which tells the driver to connect to
  275. any unused channel.<o:p></o:p></span></p>
  276. <p style='margin-left:.5in;text-indent:-.25in;mso-list:l3 level1 lfo6;
  277. tab-stops:list .5in'><![if !supportLists]><span style='font-size:10.0pt;
  278. font-family:Symbol'>�<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  279. </span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Configure
  280. the settings to use only TCP/IP (other connections will fail to negotiate PPP
  281. since the call is answered by the same PC).<o:p></o:p></span></p>
  282. <h3><span style='font-family:Verdana'>USAGE<o:p></o:p></span></h3>
  283. <p><span style='font-size:10.0pt;font-family:Verdana'>You can place a call by
  284. double clicking the outgoing dial-up connection you created above.<span
  285. style="mso-spacerun: yes">� </span>Because the call originates and terminates
  286. within the same PC, most applications will not make use of the connection for
  287. data traffic.<span style="mso-spacerun: yes">�� </span>The sample can be used
  288. with the NDIS Tester to verify basic NDIS and RAS functionality.<span
  289. style="mso-spacerun: yes">� </span><o:p></o:p></span></p>
  290. <h3><span style='font-family:Verdana'>TIPS<o:p></o:p></span></h3>
  291. <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>With a
  292. checked binary, you can control the volume of debug information generated by
  293. changing the registry variable DebugFlags.<span style="mso-spacerun: yes">
  294. </span>Refer to TpiDebug.h for more information.<span style="mso-spacerun:
  295. yes">�� </span>Set the debug flags to 0x86FF to capture a full trace with the
  296. debugger.<span style="mso-spacerun: yes"></span>This will help you understand
  297. the call sequence that occurs on both the incoming and outgoing sides of the
  298. connection, and it will be useful to refer to when you start making changes for
  299. your hardware.<o:p></o:p></span></p>
  300. <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></span></p>
  301. <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>Search
  302. the source code for SAMPLE_DRIVER and TODO to begin modifying the code for use
  303. with your custom hardware.<o:p></o:p></span></p>
  304. <h3><span style='font-family:Verdana'>CODE TOUR<o:p></o:p></span></h3>
  305. <h4><span style='font-family:Verdana'>File Manifest<o:p></o:p></span></h4>
  306. <pre><u><span style='font-size:7.5pt;font-family:Courier'>File</span></u><span
  307. style='font-size:7.5pt;font-family:Courier'><span style='mso-tab-count:1'>����� </span><u>Description</u><span
  308. style='mso-tab-count:1'>������� </span><o:p></o:p></span></pre><pre><span
  309. style='font-size:7.5pt;font-family:Courier'>Adapter.c<span style='mso-tab-count:
  310. 1'> </span>Miniport adapter structure related routines.<o:p></o:p></span></pre><pre><span
  311. style='font-size:7.5pt;font-family:Courier'>BChannel.c<span style='mso-tab-count:
  312. 1'>�������� </span>B-channel structure related routines (N B-channels per port).<o:p></o:p></span></pre><pre><span
  313. style='font-size:7.5pt;font-family:Courier'>CallMgr.c<span style='mso-tab-count:
  314. 1'> </span>Interface to the call manager.<o:p></o:p></span></pre><pre><span
  315. style='font-size:7.5pt;font-family:Courier'>Card.c<span style='mso-tab-count:
  316. 1'>��� </span>Card structure related routines (1 card per adapter).<o:p></o:p></span></pre><pre><span
  317. style='font-size:7.5pt;font-family:Courier'>DChannel.c<span style='mso-tab-count:
  318. 1'>�������� </span>Logical D-channel structure related routines (1 D-channel per card).<o:p></o:p></span></pre><pre><span
  319. style='font-size:7.5pt;font-family:Courier'>Interupt.c<span style='mso-tab-count:
  320. 1'>�������� </span>Interrupt related routines.<o:p></o:p></span></pre><pre><span
  321. style='font-size:7.5pt;font-family:Courier'>Miniport.c<span style='mso-tab-count:
  322. 1'>�������� </span>Driver entry and initialization routines.<o:p></o:p></span></pre><pre><span
  323. style='font-size:7.5pt;font-family:Courier'>Port.c<span style='mso-tab-count:
  324. 1'>��� </span>Port structure related routines (N ports per card).<o:p></o:p></span></pre><pre><span
  325. style='font-size:7.5pt;font-family:Courier'>Receive.c<span style='mso-tab-count:
  326. 1'> </span>Packet receive related routines.<o:p></o:p></span></pre><pre><span
  327. style='font-size:7.5pt;font-family:Courier'>Request.c<span style='mso-tab-count:
  328. 1'> </span>NDIS request routines.<o:p></o:p></span></pre><pre><span
  329. style='font-size:7.5pt;font-family:Courier'>TpiDebug.c<span style='mso-tab-count:
  330. 1'>�������� </span>Debug output routines used in debug build.<o:p></o:p></span></pre><pre><span
  331. style='font-size:7.5pt;font-family:Courier'>TpiMem.c<span style='mso-tab-count:
  332. 1'>� </span>Memory management routines used for debug build.<o:p></o:p></span></pre><pre><span
  333. style='font-size:7.5pt;font-family:Courier'>TpiParam.c<span style='mso-tab-count:
  334. 1'>�������� </span>Table driven registry parsing routines.<o:p></o:p></span></pre><pre><span
  335. style='font-size:7.5pt;font-family:Courier'>Transmit.c<span style='mso-tab-count:
  336. 1'>�������� </span>Packet send related routines.<o:p></o:p></span></pre><pre><span
  337. style='font-size:7.5pt;font-family:Courier'>CoIsdn.inf<span style='mso-tab-count:
  338. 1'>�������� </span>Installation file.<o:p></o:p></span></pre>
  339. <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
  340. style='font-size:10.0pt;font-family:Verdana'><a href="#top">Top of page</a> <o:p></o:p></span></p>
  341. <table border=0 cellspacing=0 cellpadding=0 width=624 style='width:5.2in;
  342. mso-cellspacing:0in;mso-padding-alt:0in 0in 0in 0in'>
  343. <tr style='height:1.2pt'>
  344. <td style='background:aqua;padding:.75pt .75pt .75pt .75pt;height:1.2pt'>
  345. <p class=MsoNormal><![if !supportEmptyParas]>&nbsp;<![endif]><o:p></o:p></p>
  346. </td>
  347. </tr>
  348. </table>
  349. <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
  350. style='font-size:7.5pt;font-family:"MS Sans Serif"'>� Microsoft Corporation
  351. 2001</span><span style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></p>
  352. </div>
  353. </body>
  354. </html>