📄 wscontrol.html
字号:
<font color="#2040a0">DWORD</font> <font color="#2040a0">ipRouteEntryBufSize</font> <font color="4444FF">=</font> <strong>sizeof</strong><font color="4444FF">(</font><font color="#2040a0">IPRouteEntry</font><font color="4444FF">)</font> <font color="4444FF">*</font> <font color="#2040a0">ipSnmpInfo</font>.<font color="#2040a0">ipsi_numroutes</font><font color="4444FF">;</font> <font color="#2040a0">IPRouteEntry</font> <font color="4444FF">*</font><font color="#2040a0">ipRouteEntry</font> <font color="4444FF">=</font> <font color="4444FF">(</font><font color="#2040a0">IPRouteEntry</font> <font color="4444FF">*</font><font color="4444FF">)</font> <font color="#2040a0">calloc</font><font color="4444FF">(</font><font color="#2040a0">ipRouteEntryBufSize</font>, <font color="#FF0000">1</font><font color="4444FF">)</font><font color="4444FF">;</font> <font color="#2040a0">result</font> <font color="4444FF">=</font> <font color="#2040a0">WsControl</font><font color="4444FF">(</font><font color="#2040a0">IPPROTO_TCP</font>, <font color="#2040a0">WSCTL_TCP_QUERY_INFORMATION</font>, <font color="4444FF">&</font><font color="#2040a0">tcpRequestQueryInfoEx</font>, <font color="4444FF">&</font><font color="#2040a0">tcpRequestBufSize</font>, <font color="#2040a0">ipRouteEntry</font>, <font color="4444FF">&</font><font color="#2040a0">ipRouteEntryBufSize</font><font color="4444FF">)</font><font color="4444FF">;</font> <strong>if</strong> <font color="4444FF">(</font><font color="#2040a0">result</font><font color="4444FF">)</font> <font color="4444FF"><strong>{</strong></font> <font color="#2040a0">fprintf</font><font color="4444FF">(</font><font color="#2040a0">stderr</font>, <font color="#008000">"%s(%d) WsControl failed (%ld)<font color="#77dd77">\n</font>"</font>, <font color="#2040a0">__FILE__</font>, <font color="#2040a0">__LINE__</font>, <font color="#2040a0">WSAGetLastError1</font><font color="4444FF">(</font><font color="4444FF">)</font><font color="4444FF">)</font><font color="4444FF">;</font> <font color="#2040a0">WSACleanup1</font><font color="4444FF">(</font><font color="4444FF">)</font><font color="4444FF">;</font> <font color="#2040a0">FreeLibrary</font><font color="4444FF">(</font><font color="#2040a0">hModule</font><font color="4444FF">)</font><font color="4444FF">;</font> <strong>return</strong> <font color="#2040a0">EXIT_FAILURE</font><font color="4444FF">;</font> <font color="4444FF"><strong>}</strong></font> <font color="#444444">//print route table</font> <strong>for</strong> <font color="4444FF">(</font><font color="#2040a0">j</font> <font color="4444FF">=</font> <font color="#FF0000">0</font><font color="4444FF">;</font> <font color="#2040a0">j</font> <font color="4444FF"><</font> <font color="#2040a0">ipSnmpInfo</font>.<font color="#2040a0">ipsi_numroutes</font><font color="4444FF">;</font> <font color="#2040a0">j</font><font color="4444FF">+</font><font color="4444FF">+</font><font color="4444FF">)</font> <font color="4444FF"><strong>{</strong></font> <strong>unsigned</strong> <strong>char</strong> <font color="4444FF">*</font><font color="#2040a0">addr</font> <font color="4444FF">=</font> <font color="4444FF">(</font><strong>unsigned</strong> <strong>char</strong> <font color="4444FF">*</font><font color="4444FF">)</font> <font color="4444FF">&</font><font color="#2040a0">ipRouteEntry</font><font color="4444FF">[</font><font color="#2040a0">j</font><font color="4444FF">]</font>.<font color="#2040a0">ire_addr</font><font color="4444FF">;</font> <strong>unsigned</strong> <strong>char</strong> <font color="4444FF">*</font><font color="#2040a0">gw</font> <font color="4444FF">=</font> <font color="4444FF">(</font><strong>unsigned</strong> <strong>char</strong> <font color="4444FF">*</font><font color="4444FF">)</font> <font color="4444FF">&</font><font color="#2040a0">ipRouteEntry</font><font color="4444FF">[</font><font color="#2040a0">j</font><font color="4444FF">]</font>.<font color="#2040a0">ire_gw</font><font color="4444FF">;</font> <strong>unsigned</strong> <strong>char</strong> <font color="4444FF">*</font><font color="#2040a0">mask</font> <font color="4444FF">=</font> <font color="4444FF">(</font><strong>unsigned</strong> <strong>char</strong> <font color="4444FF">*</font><font color="4444FF">)</font> <font color="4444FF">&</font><font color="#2040a0">ipRouteEntry</font><font color="4444FF">[</font><font color="#2040a0">j</font><font color="4444FF">]</font>.<font color="#2040a0">ire_mask</font><font color="4444FF">;</font> <font color="#2040a0">fprintf</font><font color="4444FF">(</font><font color="#2040a0">stdout</font>, <font color="#008000">"Route %ld.%ld.%ld.%ld "</font> <font color="#008000">"IF %ld "</font> <font color="#008000">"GW %ld.%ld.%ld.%ld "</font> <font color="#008000">"Mask %ld.%ld.%ld.%ld "</font> <font color="#008000">"Metric %ld<font color="#77dd77">\n</font>"</font>, <font color="#2040a0">addr</font><font color="4444FF">[</font><font color="#FF0000">0</font><font color="4444FF">]</font>, <font color="#2040a0">addr</font><font color="4444FF">[</font><font color="#FF0000">1</font><font color="4444FF">]</font>, <font color="#2040a0">addr</font><font color="4444FF">[</font><font color="#FF0000">2</font><font color="4444FF">]</font>, <font color="#2040a0">addr</font><font color="4444FF">[</font><font color="#FF0000">3</font><font color="4444FF">]</font>, <font color="#2040a0">ipRouteEntry</font><font color="4444FF">[</font><font color="#2040a0">j</font><font color="4444FF">]</font>.<font color="#2040a0">ire_index</font>, <font color="#2040a0">gw</font><font color="4444FF">[</font><font color="#FF0000">0</font><font color="4444FF">]</font>, <font color="#2040a0">gw</font><font color="4444FF">[</font><font color="#FF0000">1</font><font color="4444FF">]</font>, <font color="#2040a0">gw</font><font color="4444FF">[</font><font color="#FF0000">2</font><font color="4444FF">]</font>, <font color="#2040a0">gw</font><font color="4444FF">[</font><font color="#FF0000">3</font><font color="4444FF">]</font>, <font color="#2040a0">mask</font><font color="4444FF">[</font><font color="#FF0000">0</font><font color="4444FF">]</font>, <font color="#2040a0">mask</font><font color="4444FF">[</font><font color="#FF0000">1</font><font color="4444FF">]</font>, <font color="#2040a0">mask</font><font color="4444FF">[</font><font color="#FF0000">2</font><font color="4444FF">]</font>, <font color="#2040a0">mask</font><font color="4444FF">[</font><font color="#FF0000">3</font><font color="4444FF">]</font>, <font color="#2040a0">ipRouteEntry</font><font color="4444FF">[</font><font color="#2040a0">j</font><font color="4444FF">]</font>.<font color="#2040a0">ire_metric</font><font color="4444FF">)</font><font color="4444FF">;</font> <font color="4444FF"><strong>}</strong></font> <font color="4444FF"><strong>}</strong></font> <font color="4444FF"><strong>}</strong></font> <font color="4444FF"><strong>}</strong></font> <font color="#2040a0">WSACleanup1</font><font color="4444FF">(</font><font color="4444FF">)</font><font color="4444FF">;</font> <font color="#2040a0">FreeLibrary</font><font color="4444FF">(</font><font color="#2040a0">hModule</font><font color="4444FF">)</font><font color="4444FF">;</font> <strong>return</strong> <font color="#2040a0">EXIT_SUCCESS</font><font color="4444FF">;</font><font color="4444FF"><strong>}</strong></font><font color="#444444">//end of code</font></pre><hr noshade size=1 color=#404040><p>[Ed. Tom included a bunch of notes from tracing callswinipcfg.exe made. For various reasons, I've made them available <ahref="wscontrol-notes.txt">in a separate file</a>.]</p><p><font size=-1>Copyright © 1999 by Tom Sanfilippo. All rightsreserved.</font></p> </td> </tr></table><!-- ---- Document Footer ---- --><hr noshade size=1 color=#404040><table cellpadding=5 cellspacing=0 border=0 width=95% align=center> <tr> <td align=left> <a href="../articles/bsd-compatibility.html"><< BSD Sockets Compatibility</a> </td> <td align=right> <a href="../reviews/index.html">Reviews >></a> </td> </tr> <tr> <td align=left> <i>Last modified on 29 April 2000 at 15:52 UTC-7</i> </td> <td align=right> <font size=-1>Please send corrections to <a href="mailto:tangent@cyberport.com">tangent@cyberport.com</a>.</font> </td> </tr> </table> <table cellpadding=5 cellspacing=0 border=0 width=95% align=center> <tr> <td align=left width=33%> <font size=-1> <a href="../index.html"><b><</b> Go to the main FAQ page</a> </font> </td> <td width=33%> <font size=-1> <center> <a href="http://www.cyberport.com/~tangent/programming"><b><<</b> Go to my Programming pages</a> </center> </font> </td> <td align=right width=33%> <font size=-1> <a href="http://www.cyberport.com/~tangent/"><b><<<</b> Go to my Home Page</a> </font> </td> </tr> </table> </body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -