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.

443 lines
21 KiB

  1. <html xmlns:v="urn:schemas-microsoft-com:vml"
  2. xmlns:o="urn:schemas-microsoft-com:office:office"
  3. xmlns:w="urn:schemas-microsoft-com:office:word"
  4. xmlns="http://www.w3.org/TR/REC-html40">
  5. <head>
  6. <meta http-equiv=Content-Type content="text/html; charset=windows-1252">
  7. <meta name=ProgId content=Word.Document>
  8. <meta name=Generator content="Microsoft Word 10">
  9. <meta name=Originator content="Microsoft Word 10">
  10. <link rel=File-List href="uiosample_files/filelist.xml">
  11. <title>Sample NDIS connection-less protocol driver sample</title>
  12. <!--[if gte mso 9]><xml>
  13. <w:WordDocument>
  14. <w:SpellingState>Clean</w:SpellingState>
  15. <w:GrammarState>Clean</w:GrammarState>
  16. <w:Compatibility>
  17. <w:UseFELayout/>
  18. </w:Compatibility>
  19. <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel>
  20. </w:WordDocument>
  21. </xml><![endif]-->
  22. <style>
  23. <!--
  24. /* Font Definitions */
  25. @font-face
  26. {font-family:Courier;
  27. panose-1:2 7 4 9 2 2 5 2 4 4;
  28. mso-font-charset:0;
  29. mso-generic-font-family:modern;
  30. mso-font-format:other;
  31. mso-font-pitch:fixed;
  32. mso-font-signature:3 0 0 0 1 0;}
  33. @font-face
  34. {font-family:SimSun;
  35. panose-1:2 1 6 0 3 1 1 1 1 1;
  36. mso-font-alt:SimSun;
  37. mso-font-charset:134;
  38. mso-generic-font-family:auto;
  39. mso-font-pitch:variable;
  40. mso-font-signature:3 135135232 16 0 262145 0;}
  41. @font-face
  42. {font-family:Verdana;
  43. panose-1:2 11 6 4 3 5 4 4 2 4;
  44. mso-font-charset:0;
  45. mso-generic-font-family:swiss;
  46. mso-font-pitch:variable;
  47. mso-font-signature:536871559 0 0 0 415 0;}
  48. @font-face
  49. {font-family:"MS Sans Serif";
  50. mso-font-alt:"Times New Roman";
  51. mso-font-charset:0;
  52. mso-generic-font-family:auto;
  53. mso-font-pitch:auto;
  54. mso-font-signature:0 0 0 0 0 0;}
  55. @font-face
  56. {font-family:SimSun;
  57. panose-1:2 1 6 0 3 1 1 1 1 1;
  58. mso-font-charset:134;
  59. mso-generic-font-family:auto;
  60. mso-font-pitch:variable;
  61. mso-font-signature:3 135135232 16 0 262145 0;}
  62. /* Style Definitions */
  63. p.MsoNormal, li.MsoNormal, div.MsoNormal
  64. {mso-style-parent:"";
  65. margin:0in;
  66. margin-bottom:.0001pt;
  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. h2
  72. {mso-margin-top-alt:auto;
  73. margin-right:0in;
  74. mso-margin-bottom-alt:auto;
  75. margin-left:0in;
  76. mso-pagination:widow-orphan;
  77. mso-outline-level:2;
  78. font-size:18.0pt;
  79. font-family:"Times New Roman";
  80. mso-fareast-font-family:SimSun;
  81. font-weight:bold;}
  82. h3
  83. {mso-margin-top-alt:auto;
  84. margin-right:0in;
  85. mso-margin-bottom-alt:auto;
  86. margin-left:0in;
  87. mso-pagination:widow-orphan;
  88. mso-outline-level:3;
  89. font-size:13.5pt;
  90. font-family:"Times New Roman";
  91. mso-fareast-font-family:SimSun;
  92. font-weight:bold;}
  93. h4
  94. {mso-margin-top-alt:auto;
  95. margin-right:0in;
  96. mso-margin-bottom-alt:auto;
  97. margin-left:0in;
  98. mso-pagination:widow-orphan;
  99. mso-outline-level:4;
  100. font-size:12.0pt;
  101. font-family:"Times New Roman";
  102. mso-fareast-font-family:SimSun;
  103. font-weight:bold;}
  104. p.MsoBodyText, li.MsoBodyText, div.MsoBodyText
  105. {margin:0in;
  106. margin-bottom:.0001pt;
  107. mso-pagination:widow-orphan;
  108. font-size:10.0pt;
  109. font-family:Verdana;
  110. mso-fareast-font-family:"Times New Roman";
  111. mso-bidi-font-family:"Times New Roman";}
  112. a:link, span.MsoHyperlink
  113. {color:blue;
  114. text-decoration:underline;
  115. text-underline:single;}
  116. a:visited, span.MsoHyperlinkFollowed
  117. {color:blue;
  118. text-decoration:underline;
  119. text-underline:single;}
  120. p
  121. {mso-margin-top-alt:auto;
  122. margin-right:0in;
  123. mso-margin-bottom-alt:auto;
  124. margin-left:0in;
  125. mso-pagination:widow-orphan;
  126. font-size:12.0pt;
  127. font-family:"Times New Roman";
  128. mso-fareast-font-family:"Times New Roman";}
  129. pre
  130. {margin:0in;
  131. margin-bottom:.0001pt;
  132. mso-pagination:widow-orphan;
  133. 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;
  134. font-size:10.0pt;
  135. font-family:"Courier New";
  136. mso-fareast-font-family:"Courier New";}
  137. span.SpellE
  138. {mso-style-name:"";
  139. mso-spl-e:yes;}
  140. @page Section1
  141. {size:8.5in 11.0in;
  142. margin:1.0in 1.25in 1.0in 1.25in;
  143. mso-header-margin:.5in;
  144. mso-footer-margin:.5in;
  145. mso-paper-source:0;}
  146. div.Section1
  147. {page:Section1;}
  148. /* List Definitions */
  149. @list l0
  150. {mso-list-id:460344179;
  151. mso-list-type:hybrid;
  152. mso-list-template-ids:1661754128 -1479363788 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
  153. @list l0:level1
  154. {mso-level-tab-stop:.75in;
  155. mso-level-number-position:left;
  156. margin-left:.75in;
  157. text-indent:-.25in;}
  158. @list l0:level2
  159. {mso-level-tab-stop:1.0in;
  160. mso-level-number-position:left;
  161. text-indent:-.25in;}
  162. @list l0:level3
  163. {mso-level-tab-stop:1.5in;
  164. mso-level-number-position:left;
  165. text-indent:-.25in;}
  166. @list l0:level4
  167. {mso-level-tab-stop:2.0in;
  168. mso-level-number-position:left;
  169. text-indent:-.25in;}
  170. @list l0:level5
  171. {mso-level-tab-stop:2.5in;
  172. mso-level-number-position:left;
  173. text-indent:-.25in;}
  174. @list l0:level6
  175. {mso-level-tab-stop:3.0in;
  176. mso-level-number-position:left;
  177. text-indent:-.25in;}
  178. @list l0:level7
  179. {mso-level-tab-stop:3.5in;
  180. mso-level-number-position:left;
  181. text-indent:-.25in;}
  182. @list l0:level8
  183. {mso-level-tab-stop:4.0in;
  184. mso-level-number-position:left;
  185. text-indent:-.25in;}
  186. @list l0:level9
  187. {mso-level-tab-stop:4.5in;
  188. mso-level-number-position:left;
  189. text-indent:-.25in;}
  190. ol
  191. {margin-bottom:0in;}
  192. ul
  193. {margin-bottom:0in;}
  194. -->
  195. </style>
  196. <!--[if gte mso 10]>
  197. <style>
  198. /* Style Definitions */
  199. table.MsoNormalTable
  200. {mso-style-name:"Table Normal";
  201. mso-tstyle-rowband-size:0;
  202. mso-tstyle-colband-size:0;
  203. mso-style-noshow:yes;
  204. mso-style-parent:"";
  205. mso-padding-alt:0in 5.4pt 0in 5.4pt;
  206. mso-para-margin:0in;
  207. mso-para-margin-bottom:.0001pt;
  208. mso-pagination:widow-orphan;
  209. font-size:10.0pt;
  210. font-family:"Times New Roman";}
  211. </style>
  212. <![endif]-->
  213. </head>
  214. <body lang=EN-US link=blue vlink=blue style='tab-interval:.5in'>
  215. <div class=Section1>
  216. <h2><span style='font-family:Verdana'>NDIS connection-less protocol driver sample<o:p></o:p></span></h2>
  217. <h3><span style='font-family:Verdana'>SUMMARY<o:p></o:p></span></h3>
  218. <p><span style='font-size:10.0pt;font-family:Verdana'>This sample demonstrates
  219. a connection-less NDIS 5.0/5.1 protocol driver. The driver supports sending and
  220. receiving raw Ethernet frames using ReadFile/WriteFile calls from user-mode.
  221. As an NDIS protocol, it illustrates how to establish and tear down bindings to
  222. Ethernet adapters, i.e. those that export medium type <i>NdisMedium802_3</i>.
  223. It shows how to set a packet filter, send and receive data, and handle
  224. plug-and-play events. It also shows use of the following NDIS 5.1
  225. features/APIs:<o:p></o:p></span></p>
  226. <p style='margin-left:.75in;text-indent:-.25in;mso-list:l0 level1 lfo2;
  227. tab-stops:list .75in'><![if !supportLists]><span style='font-size:10.0pt;
  228. font-family:Verdana;mso-fareast-font-family:Verdana;mso-bidi-font-family:Verdana'><span
  229. style='mso-list:Ignore'>1.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  230. </span></span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>Canceling
  231. sends<o:p></o:p></span></p>
  232. <p style='margin-left:.75in;text-indent:-.25in;mso-list:l0 level1 lfo2;
  233. tab-stops:list .75in'><![if !supportLists]><span style='font-size:10.0pt;
  234. font-family:Verdana;mso-fareast-font-family:Verdana;mso-bidi-font-family:Verdana'><span
  235. style='mso-list:Ignore'>2.<span style='font:7.0pt "Times New Roman"'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
  236. </span></span></span><![endif]><span style='font-size:10.0pt;font-family:Verdana'>NdisQueryPendingIOCount()<o:p></o:p></span></p>
  237. <p><span style='font-size:10.0pt;font-family:Verdana'>The sample works on
  238. Windows 2000, Windows XP, and Windows Server 2003 32-bit and 64-bit platforms. <o:p></o:p></span></p>
  239. <h3><span style='font-family:Verdana'>BUILDING THE SAMPLE<o:p></o:p></span></h3>
  240. <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>From the
  241. Free or Checked Build environment, execute <b>build -ceZ</b> in the ndisprot
  242. directory. <o:p></o:p></span></p>
  243. <h3><span style='font-family:Verdana'>INSTALLATION<o:p></o:p></span></h3>
  244. <p><span style='font-size:10.0pt;font-family:Verdana'>The driver is installed
  245. using the INF file ndisprot.inf, which is provided in the driver directory. In
  246. Network Connections UI, select an adapter and open <b>Properties</b>.<o:p></o:p></span></p>
  247. <p><span style='font-size:10.0pt;font-family:Verdana'>Click <b>Install</b>,
  248. then <b>Protocol</b>, then <b>Add</b>, and then <b>Have disk</b>. Then point to
  249. the location of the .inf and driver.<o:p></o:p></span></p>
  250. <p><span style='font-size:10.0pt;font-family:Verdana'>Select <b>Sample NDIS Protocol Driver
  251. </b>and click <b>OK</b>. After installing the protocol, copy over
  252. the test application uiotest.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>
  253. <h3><span style='font-family:Verdana'>USAGE<o:p></o:p></span></h3>
  254. <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>To start
  255. the driver, type<o:p></o:p></span></p>
  256. <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><span
  257. style='mso-tab-count:1'>��������� </span>Net start ndisprot<o:p></o:p></span></p>
  258. <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
  259. <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>To stop
  260. the driver, type<o:p></o:p></span></p>
  261. <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><span
  262. style='mso-tab-count:1'>��������� </span>Net stop ndisprot<o:p></o:p></span></p>
  263. <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
  264. <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'>To test
  265. the driver, run uiotest. For help on usage, run uiotest -?<o:p></o:p></span></p>
  266. <p class=MsoNormal><span style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
  267. <pre style='margin-left:.5in'>usage: UIOTEST [options] &lt;devicename&gt;</pre><pre
  268. style='margin-left:.5in'>options:</pre><pre style='margin-left:.5in'><span style='mso-spacerun:yes'>������ </span>-e: Enumerate devices</pre><pre
  269. style='margin-left:.5in'><span style='mso-spacerun:yes'>������ </span>-r: Read</pre><pre
  270. style='margin-left:.5in'><span style='mso-spacerun:yes'>������ </span>-w: Write (default)</pre><pre
  271. style='margin-left:.5in'><span style='mso-spacerun:yes'>������ </span>-l &lt;length&gt;: length of each packet (default: 100)</pre><pre
  272. style='margin-left:.5in'><span style='mso-spacerun:yes'>������ </span>-n &lt;count&gt;: number of packets (defaults to infinity)</pre><pre
  273. style='margin-left:.5in'><span style='mso-spacerun:yes'>������ </span>-m &lt;MAC address&gt; (defaults to local MAC)</pre>
  274. <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
  275. style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
  276. <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
  277. style='font-size:10.0pt;font-family:Verdana'>Uiotest exercises the IOCTLs
  278. supported by NDISPROT, and sends and/or receives data on the selected device. In
  279. order to use uiotest, the user must have administrative privilege. Users should
  280. pass down a big enough buffer in order to receive the entire received data. If
  281. the length of the buffer passed down is smaller than the length of the received
  282. data, NDISPROT will only copy part of the data and discard the rest when the
  283. given buffer is full.<o:p></o:p></span></p>
  284. <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
  285. style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
  286. <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
  287. style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
  288. <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
  289. style='font-size:10.0pt;font-family:Verdana'>Use the �e option to enumerate all
  290. devices to which NDISPROT is bound:<o:p></o:p></span></p>
  291. <pre style='margin-left:.5in'>C:\uio&gt;uiotest -e</pre><pre style='margin-left:
  292. .5in'> 0. \DEVICE\{9273DA7D-5275-4B9A-AC56-68A49D121F1F}</pre><pre
  293. style='margin-left:.5in'><span style='mso-spacerun:yes'>���� </span>- Intel-Based 10/100 Ethernet Card</pre>
  294. <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
  295. style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
  296. <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
  297. style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Verdana'>The
  298. following command sends and receives 2 packets on a device</span><span
  299. style='font-size:10.0pt;font-family:Verdana'>). Since these packets are sent to
  300. the local MAC address (default), both packets are received. </span><span
  301. style='font-size:10.0pt;mso-bidi-font-size:12.0pt;font-family:Verdana'> The
  302. device name parameter to uiotest is picked up from the output of uiotest �e
  303. (see above).<o:p></o:p></span></p>
  304. <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
  305. style='font-size:10.0pt;font-family:Verdana'><o:p>&nbsp;</o:p></span></p>
  306. <pre style='margin-left:.5in'>C:\uio&gt;uiotest -n 2 \DEVICE\{9273DA7D-5275-4B9A-AC56-68A49D121F1F}</pre><pre
  307. style='margin-left:.5in'>DoWriteProc: finished sending 2 packets of 100 bytes each</pre><pre
  308. style='margin-left:.5in'>DoReadProc finished: read 2 packets</pre>
  309. <p>
  310. <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
  311. 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>
  312. </P>
  313. <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
  314. style='font-family:Verdana'>TIPS<o:p></o:p></span></h3>
  315. <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
  316. style='font-size:10.0pt;font-family:Verdana'>With a checked version of
  317. ndisprot.sys, you can control the volume of debug information generated by
  318. changing the variable ndisprotDebugLevel. Refer to debug.h for more information.
  319. <o:p></o:p></span></p>
  320. <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
  321. style='font-family:Verdana'>CODE TOUR<o:p></o:p></span></h3>
  322. <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
  323. style='font-family:Verdana'>File Manifest<o:p></o:p></span></h4>
  324. <pre><b><span style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>Directory: Test</span></b><span
  325. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><br
  326. style='mso-special-character:line-break'>
  327. <![if !supportLineBreakNewLine]><br style='mso-special-character:line-break'>
  328. <![endif]><o:p></o:p></span></pre><pre><span style='font-size:9.0pt;mso-bidi-font-size:
  329. 7.5pt;font-family:Courier'><o:p>&nbsp;</o:p></span></pre><pre><span
  330. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><o:p>&nbsp;</o:p></span></pre><pre><span
  331. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><o:p>&nbsp;</o:p></span></pre><pre><span
  332. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><o:p>&nbsp;</o:p></span></pre><pre><span
  333. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><o:p>&nbsp;</o:p></span></pre><pre><u><span
  334. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>File</span></u><span
  335. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><span
  336. style='mso-tab-count:2'>������������ </span><u>Description</u><span
  337. style='mso-tab-count:1'>����� </span><o:p></o:p></span></pre><pre><span
  338. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>uiotest.c<span
  339. style='mso-tab-count:1'>������� </span>User-mode test application<o:p></o:p></span></pre><pre><span
  340. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><o:p>&nbsp;</o:p></span></pre><pre><span
  341. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><o:p>&nbsp;</o:p></span></pre><pre><b><span
  342. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>Directory: Sys</span></b><span
  343. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><br
  344. style='mso-special-character:line-break'>
  345. <![if !supportLineBreakNewLine]><br style='mso-special-character:line-break'>
  346. <![endif]><o:p></o:p></span></pre><pre><span style='font-size:9.0pt;mso-bidi-font-size:
  347. 7.5pt;font-family:Courier'><o:p>&nbsp;</o:p></span></pre><pre><span
  348. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><o:p>&nbsp;</o:p></span></pre><pre><span
  349. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><o:p>&nbsp;</o:p></span></pre><pre><span
  350. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><o:p>&nbsp;</o:p></span></pre><pre><span
  351. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><o:p>&nbsp;</o:p></span></pre><pre><u><span
  352. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>File</span></u><span
  353. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'><span
  354. style='mso-tab-count:2'>������������ </span><u>Description</u><span
  355. style='mso-tab-count:1'>����� </span><o:p></o:p></span></pre><pre><span
  356. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>debug.c<span
  357. style='mso-tab-count:2'>��������� </span>Routines to aid debugging<o:p></o:p></span></pre><pre><span
  358. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>debug.h<span
  359. style='mso-tab-count:2'>��������� </span>Debug macro definitions<o:p></o:p></span></pre><pre><span
  360. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>macros.h<span
  361. style='mso-tab-count:2'>�������� </span>Spinlock, event, referencing macros<o:p></o:p></span></pre><pre><span
  362. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>ndisbind.c<span
  363. style='mso-tab-count:1'>������ </span>NDIS protocol entry points to handle binding/unbinding from adapters<o:p></o:p></span></pre><pre><span
  364. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>ndisprot.h<span
  365. style='mso-tab-count:1'>������� </span>Data structure definitions<o:p></o:p></span></pre><pre><span
  366. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>ndisprot.inf<span
  367. style='mso-tab-count:1'>����� </span>INF file for installing NDISPROT<o:p></o:p></span></pre><pre><span
  368. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>ntdisp.c<span
  369. style='mso-tab-count:2'>�������� </span>NT Entry points and dispatch routines for NDISPROT<o:p></o:p></span></pre><pre><span
  370. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>nuiouser.h<span
  371. style='mso-tab-count:1'>������ </span>IOCTL and associated structure definitions<o:p></o:p></span></pre><pre><span
  372. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>recv.c<span
  373. 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
  374. style='font-size:9.0pt;mso-bidi-font-size:7.5pt;font-family:Courier'>send.c<span
  375. 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
  376. style='font-size:7.5pt;font-family:Courier'><o:p>&nbsp;</o:p></span></pre>
  377. <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
  378. style='font-size:10.0pt;font-family:Verdana'><a href="#top">Top of page</a> <o:p></o:p></span></p>
  379. <table class=MsoNormalTable border=0 cellspacing=0 cellpadding=0 width=624
  380. style='width:6.5in;mso-cellspacing:0in;mso-padding-alt:0in 0in 0in 0in'>
  381. <tr style='mso-yfti-irow:0;mso-yfti-lastrow:yes;height:1.5pt'>
  382. <td style='background:aqua;padding:.75pt .75pt .75pt .75pt;height:1.5pt'>
  383. <p class=MsoNormal><o:p>&nbsp;</o:p></p>
  384. </td>
  385. </tr>
  386. </table>
  387. <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
  388. style='font-size:7.5pt;font-family:"MS Sans Serif"'>� Microsoft Corporation
  389. 2000</span><span style='font-size:10.0pt;font-family:Verdana'> <o:p></o:p></span></p>
  390. </div>
  391. </body>
  392. </html>