15,471
社区成员
发帖
与我相关
我的任务
分享
#ifndef WINVER // 指定要求的最低平台是 Windows Vista。
#define WINVER 0x0501 // 将此值更改为相应的值,以适用于 Windows 的其他版本。
#endif
#ifndef _WIN32_WINNT // 指定要求的最低平台是 Windows Vista。
#define _WIN32_WINNT 0x0501 // 将此值更改为相应的值,以适用于 Windows 的其他版本。
#endif
#ifndef _WIN32_WINDOWS // 指定要求的最低平台是 Windows 98。
#define _WIN32_WINDOWS 0x0410 // 将此值更改为适当的值,以适用于 Windows Me 或更高版本。
#endif
#ifndef _WIN32_IE // 指定要求的最低平台是 Internet Explorer 7.0。
#define _WIN32_IE 0x0700 // 将此值更改为相应的值,以适用于 IE 的其他版本。
#endif
#include "Iphlpapi.h"
#pragma comment(lib,"Iphlpapi.lib")
void TestTcpTable() //GetTcpTable,GetExtendedTcpTable,AllocateAndGetTcpExTableFromStack
{
DWORD err;
DWORD sz=1024*1024;
PMIB_TCPTABLE ptt=(MIB_TCPTABLE*)new BYTE[sz];
::memset(ptt,0,sz);
err=::GetTcpTable(ptt,&sz,0);
if(err==NO_ERROR)
{
//....
}
//....
err=::GetExtendedTcpTable(ptt,&sz,1,AF_INET,TCP_TABLE_OWNER_PID_ALL,0);
PMIB_TCPTABLE_OWNER_PID pttp=(PMIB_TCPTABLE_OWNER_PID)ptt;
if(err==NO_ERROR)
{
//....
}
//...
PMIB_TCPTABLE_OWNER_PID pttp2;
PVOID pv;
if(::AllocateAndGetTcpExTableFromStack(&pv,1,::GetProcessHeap(),0,AF_INET)==ERROR_SUCCESS) //这里有个连接错误:error LNK2019: 无法解析的外部符号 _AllocateAndGetTcpExTableFromStack
{
//....
}
}