⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 wscontrol.html

📁 SDK FAQ集
💻 HTML
📖 第 1 页 / 共 5 页
字号:
    <strong>if</strong> <font color="4444FF">(</font><font color="4444FF">!</font><font color="#2040a0">WsControl</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">&quot;GetProcAddress failed for WsControl (%ld)<font color="#77dd77">\n</font>&quot;</font>,                <font color="#2040a0">GetLastError</font><font color="4444FF">(</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="#2040a0">WSAGetLastError1</font> <font color="4444FF">=</font>        <font color="4444FF">(</font><font color="#2040a0">WSAGetLastErrorProc</font><font color="4444FF">)</font> <font color="#2040a0">GetProcAddress</font><font color="4444FF">(</font><font color="#2040a0">hModule</font>, <font color="#008000">&quot;WSAGetLastError&quot;</font><font color="4444FF">)</font><font color="4444FF">;</font>    <strong>if</strong> <font color="4444FF">(</font><font color="4444FF">!</font><font color="#2040a0">WSAGetLastError1</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">&quot;GetProcAddress failed for WSAGetLastError (%ld)<font color="#77dd77">\n</font>&quot;</font>,                <font color="#2040a0">GetLastError</font><font color="4444FF">(</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="#2040a0">WSAStartup1</font> <font color="4444FF">=</font> <font color="4444FF">(</font><font color="#2040a0">WSAStartupProc</font><font color="4444FF">)</font> <font color="#2040a0">GetProcAddress</font><font color="4444FF">(</font><font color="#2040a0">hModule</font>, <font color="#008000">&quot;WSAStartup&quot;</font><font color="4444FF">)</font><font color="4444FF">;</font>    <strong>if</strong> <font color="4444FF">(</font><font color="4444FF">!</font><font color="#2040a0">WSAStartup1</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">&quot;GetProcAddress failed for WSAStartup (%ld)<font color="#77dd77">\n</font>&quot;</font>,                <font color="#2040a0">GetLastError</font><font color="4444FF">(</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="#2040a0">WSACleanup1</font> <font color="4444FF">=</font> <font color="4444FF">(</font><font color="#2040a0">WSACleanupProc</font><font color="4444FF">)</font> <font color="#2040a0">GetProcAddress</font><font color="4444FF">(</font><font color="#2040a0">hModule</font>, <font color="#008000">&quot;WSACleanup&quot;</font><font color="4444FF">)</font><font color="4444FF">;</font>    <strong>if</strong> <font color="4444FF">(</font><font color="4444FF">!</font><font color="#2040a0">WSACleanup1</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">&quot;GetProcAddress failed for WSACleanup (%ld)<font color="#77dd77">\n</font>&quot;</font>,                <font color="#2040a0">GetLastError</font><font color="4444FF">(</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="#2040a0">result</font> <font color="4444FF">=</font> <font color="#2040a0">WSAStartup1</font><font color="4444FF">(</font><font color="#2040a0">MAKEWORD</font><font color="4444FF">(</font><font color="#FF0000">1</font>, <font color="#FF0000">1</font><font color="4444FF">)</font>, <font color="4444FF">&amp;</font><font color="#2040a0">WSAData</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">&quot;WSAStartup failed (%ld)<font color="#77dd77">\n</font>&quot;</font>, <font color="#2040a0">result</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="#2040a0">TCP_REQUEST_QUERY_INFORMATION_EX</font> <font color="#2040a0">tcpRequestQueryInfoEx</font><font color="4444FF">;</font>    <font color="#2040a0">memset</font><font color="4444FF">(</font><font color="4444FF">&amp;</font><font color="#2040a0">tcpRequestQueryInfoEx</font>, <font color="#FF0000">0</font>, <strong>sizeof</strong><font color="4444FF">(</font><font color="#2040a0">tcpRequestQueryInfoEx</font><font color="4444FF">)</font><font color="4444FF">)</font><font color="4444FF">;</font>    <font color="#2040a0">tcpRequestQueryInfoEx</font>.<font color="#2040a0">ID</font>.<font color="#2040a0">toi_entity</font>.<font color="#2040a0">tei_entity</font> <font color="4444FF">=</font> <font color="#2040a0">GENERIC_ENTITY</font><font color="4444FF">;</font>    <font color="#2040a0">tcpRequestQueryInfoEx</font>.<font color="#2040a0">ID</font>.<font color="#2040a0">toi_entity</font>.<font color="#2040a0">tei_instance</font> <font color="4444FF">=</font> <font color="#FF0000">0</font><font color="4444FF">;</font>    <font color="#2040a0">tcpRequestQueryInfoEx</font>.<font color="#2040a0">ID</font>.<font color="#2040a0">toi_class</font> <font color="4444FF">=</font> <font color="#2040a0">INFO_CLASS_GENERIC</font><font color="4444FF">;</font>    <font color="#2040a0">tcpRequestQueryInfoEx</font>.<font color="#2040a0">ID</font>.<font color="#2040a0">toi_type</font> <font color="4444FF">=</font> <font color="#2040a0">INFO_TYPE_PROVIDER</font><font color="4444FF">;</font>    <font color="#2040a0">tcpRequestQueryInfoEx</font>.<font color="#2040a0">ID</font>.<font color="#2040a0">toi_id</font> <font color="4444FF">=</font> <font color="#2040a0">ENTITY_LIST_ID</font><font color="4444FF">;</font>    <font color="#2040a0">DWORD</font> <font color="#2040a0">tcpRequestBufSize</font> <font color="4444FF">=</font> <strong>sizeof</strong><font color="4444FF">(</font><font color="#2040a0">tcpRequestQueryInfoEx</font><font color="4444FF">)</font><font color="4444FF">;</font>    <font color="#444444">//this probably allocates too much space; not sure if MAX_TDI_ENTITIES</font>    <font color="#444444">//represents the max number of entities that can be returned or, if it</font>    <font color="#444444">//is the highest entity value that can be defined.</font>    <font color="#2040a0">DWORD</font> <font color="#2040a0">entityIdsBufSize</font> <font color="4444FF">=</font> <font color="#2040a0">MAX_TDI_ENTITIES</font> <font color="4444FF">*</font> <strong>sizeof</strong><font color="4444FF">(</font><font color="#2040a0">TDIEntityID</font><font color="4444FF">)</font><font color="4444FF">;</font>    <font color="#2040a0">TDIEntityID</font> <font color="4444FF">*</font><font color="#2040a0">entityIds</font> <font color="4444FF">=</font> <font color="4444FF">(</font><font color="#2040a0">TDIEntityID</font> <font color="4444FF">*</font><font color="4444FF">)</font> <font color="#2040a0">calloc</font><font color="4444FF">(</font><font color="#2040a0">entityIdsBufSize</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">&amp;</font><font color="#2040a0">tcpRequestQueryInfoEx</font>,                       <font color="4444FF">&amp;</font><font color="#2040a0">tcpRequestBufSize</font>, <font color="#2040a0">entityIds</font>, <font color="4444FF">&amp;</font><font color="#2040a0">entityIdsBufSize</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">&quot;%s(%d) WsControl failed (%ld)<font color="#77dd77">\n</font>&quot;</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">//...after the call we compute:</font>    <font color="#2040a0">DWORD</font> <font color="#2040a0">entityCount</font> <font color="4444FF">=</font> <font color="#2040a0">entityIdsBufSize</font> / <strong>sizeof</strong><font color="4444FF">(</font><font color="#2040a0">TDIEntityID</font><font color="4444FF">)</font><font color="4444FF">;</font>    <font color="#2040a0">DWORD</font> <font color="#2040a0">i</font><font color="4444FF">;</font>    <font color="#2040a0">DWORD</font> <font color="#2040a0">ifCount</font> <font color="4444FF">=</font> <font color="#FF0000">0</font><font color="4444FF">;</font>    <font color="#444444">//print out the interface info for the generic interfaces</font>    <strong>for</strong> <font color="4444FF">(</font><font color="#2040a0">i</font> <font color="4444FF">=</font> <font color="#FF0000">0</font><font color="4444FF">;</font> <font color="#2040a0">i</font> <font color="4444FF">&lt;</font> <font color="#2040a0">entityCount</font><font color="4444FF">;</font> <font color="#2040a0">i</font><font color="4444FF">+</font><font color="4444FF">+</font><font color="4444FF">)</font> <font color="4444FF"><strong>{</strong></font>        <strong>if</strong> <font color="4444FF">(</font><font color="#2040a0">entityIds</font><font color="4444FF">[</font><font color="#2040a0">i</font><font color="4444FF">]</font>.<font color="#2040a0">tei_entity</font> <font color="4444FF">=</font><font color="4444FF">=</font> <font color="#2040a0">IF_ENTITY</font><font color="4444FF">)</font> <font color="4444FF"><strong>{</strong></font>            <font color="4444FF">+</font><font color="4444FF">+</font><font color="#2040a0">ifCount</font><font color="4444FF">;</font>            <font color="#444444">//see if the iterface supports snmp mib-2 info</font>            <font color="#2040a0">memset</font><font color="4444FF">(</font><font color="4444FF">&amp;</font><font color="#2040a0">tcpRequestQueryInfoEx</font>, <font color="#FF0000">0</font>,                   <strong>sizeof</strong><font color="4444FF">(</font><font color="#2040a0">tcpRequestQueryInfoEx</font><font color="4444FF">)</font><font color="4444FF">)</font><font color="4444FF">;</font>            <font color="#2040a0">tcpRequestQueryInfoEx</font>.<font color="#2040a0">ID</font>.<font color="#2040a0">toi_entity</font> <font color="4444FF">=</font> <font color="#2040a0">entityIds</font><font color="4444FF">[</font><font color="#2040a0">i</font><font color="4444FF">]</font><font color="4444FF">;</font>            <font color="#2040a0">tcpRequestQueryInfoEx</font>.<font color="#2040a0">ID</font>.<font color="#2040a0">toi_class</font> <font color="4444FF">=</font> <font color="#2040a0">INFO_CLASS_GENERIC</font><font color="4444FF">;</font>            <font color="#2040a0">tcpRequestQueryInfoEx</font>.<font color="#2040a0">ID</font>.<font color="#2040a0">toi_type</font> <font color="4444FF">=</font> <font color="#2040a0">INFO_TYPE_PROVIDER</font><font color="4444FF">;</font>            <font color="#2040a0">tcpRequestQueryInfoEx</font>.<font color="#2040a0">ID</font>.<font color="#2040a0">toi_id</font> <font color="4444FF">=</font> <font color="#2040a0">ENTITY_TYPE_ID</font><font color="4444FF">;</font>            <font color="#2040a0">ULONG</font> <font color="#2040a0">entityType</font><font color="4444FF">;</font>            <font color="#2040a0">DWORD</font> <font color="#2040a0">entityTypeSize</font> <font color="4444FF">=</font> <strong>sizeof</strong><font color="4444FF">(</font><font color="#2040a0">entityType</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">&amp;</font><font color="#2040a0">tcpRequestQueryInfoEx</font>,                               <font color="4444FF">&amp;</font><font color="#2040a0">tcpRequestBufSize</font>,                               <font color="4444FF">&amp;</font><font color="#2040a0">entityType</font>, <font color="4444FF">&amp;</font><font color="#2040a0">entityTypeSize</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">&quot;%s(%d) WsControl failed (%ld)<font color="#77dd77">\n</font>&quot;</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>            <strong>if</strong> <font color="4444FF">(</font><font color="#2040a0">entityType</font> <font color="4444FF">=</font><font color="4444FF">=</font> <font color="#2040a0">IF_MIB</font><font color="4444FF">)</font> <font color="4444FF"><strong>{</strong></font> <font color="#444444">// Supports MIB-2 interface.</font>                <font color="#444444">//get snmp mib-2 info</font>                <font color="#2040a0">tcpRequestQueryInfoEx</font>.<font color="#2040a0">ID</font>.<font color="#2040a0">toi_class</font> <font color="4444FF">=</font> <font color="#2040a0">INFO_CLASS_PROTOCOL</font><font color="4444FF">;</font>                <font color="#2040a0">tcpRequestQueryInfoEx</font>.<font color="#2040a0">ID</font>.<font color="#2040a0">toi_id</font> <font color="4444FF">=</font> <font color="#2040a0">IF_MIB_STATS_ID</font><font color="4444FF">;</font>                <font color="#444444">//note: win95 winipcfg use 130 for MAX_IFDESCR_LEN while</font>                <font color="#444444">//ddk\src\network\wshsmple\SMPLETCP.H defines it as 256</font>                <font color="#444444">//we are trying to dup the winipcfg parameters for now</font>                <font color="#2040a0">DWORD</font> <font color="#2040a0">ifEntrySize</font> <font color="4444FF">=</font> <strong>sizeof</strong><font color="4444FF">(</font><font color="#2040a0">IFEntry</font><font color="4444FF">)</font> <font color="4444FF">+</font> <font color="#FF0000">128</font> <font color="4444FF">+</font> <font color="#FF0000">1</font><font color="4444FF">;</font>                <font color="#2040a0">IFEntry</font> <font color="4444FF">*</font><font color="#2040a0">ifEntry</font> <font color="4444FF">=</font> <font color="4444FF">(</font><font color="#2040a0">IFEntry</font> <font color="4444FF">*</font><font color="4444FF">)</font> <font color="#2040a0">calloc</font><font color="4444FF">(</font><font color="#2040a0">ifEntrySize</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">&amp;</font><font color="#2040a0">tcpRequestQueryInfoEx</font>,

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -