GetAdaptersInfo //如果执行成功返回 ERROR_SUCCESS 也就是NO_ERROR
DWORD GetAdaptersInfo(
__out PIP_ADAPTER_INFO pAdapterInfo, // IP_ADAPTER_INFO 的结构体
__inout PULONG pOutBufLen // ULONG 上面结构的缓冲区大小
);
2000 xp 估计以后的版本都能用这个函数
typedef struct _IP_ADAPTER_INFO { struct _IP_ADAPTER_INFO *Next; DWORD ComboIndex; char AdapterName[MAX_ADAPTER_NAME_LENGTH + 4]; char Description[MAX_ADAPTER_DESCRIPTION_LENGTH + 4]; UINT AddressLength; BYTE Address[MAX_ADAPTER_ADDRESS_LENGTH]; DWORD Index; UINT Type; UINT DhcpEnabled; PIP_ADDR_STRING CurrentIpAddress; IP_ADDR_STRING IpAddressList; IP_ADDR_STRING GatewayList; IP_ADDR_STRING DhcpServer; BOOL HaveWins; IP_ADDR_STRING PrimaryWinsServer; IP_ADDR_STRING SecondaryWinsServer; time_t LeaseObtained; time_t LeaseExpires; } IP_ADAPTER_INFO, *PIP_ADAPTER_INFO;
*Next 指向链表中的下一个结构体
ComboIndexAdapterName 适配器 的名字 估计也就网卡的名字?
Description 适配器 的描述
AddressLength 地址的长度 按字节计算的
Address 适配器 的硬件地址 字节数组
Index 适配器 的说明吧
Type 适配器 的类型 必须是下列之一 在IPIfCons.h. 里面被定义
- MIB_IF_TYPE_OTHER
- MIB_IF_TYPE_ETHERNET
- MIB_IF_TYPE_TOKENRING
- MIB_IF_TYPE_FDDI
- MIB_IF_TYPE_PPP
- MIB_IF_TYPE_LOOPBACK
- MIB_IF_TYPE_SLIP
CurrentIpAddress 现在的IP地址
IpAddressList IP地址列表吧
GatewayList
DhcpServer
HaveWins BOOL
PrimaryWinsServer
SecondaryWinsServer
LeaseObtained
LeaseExpires
vc++6.0 还要下这个库文件。
#pragma comment(lib, "IPHLPAPI.lib")
安装成功后,
Tools->options->directories->将Iphlpapi头文件所在文件夹新建路径
此时会出现问题,说'PMIB_ICMP_EX' : undeclared identifier
解决办法是:
将新建的Iphlpapi.h的路径移动到所include的所有头文件的最前面,
编译通过......
据说可以 本人没有测试。