1、定义数据结构
typedef struct s_ip_fname
{
//一个网卡可能有多个IP地址
std::vector ips;
std::string mac;
}s_ip_fname;
2、 函数
static int get_ipfname(std::vector &ff)
{
#define ADDR(x) pIpAdapterInfo->Address[x]
PIP_ADAPTER_INFO pIpAdapterInfo = new IP_ADAPTER_INFO();
unsigned long stSize = sizeof(IP_ADAPTER_INFO);
int nRel = GetAdaptersInfo(pIpAdapterInfo, &stSize);
DWORD netCardNum = 0;
GetNumberOfInterfaces(&netCardNum);
int IPnumPerNetCard = 0;
if (ERROR_BUFFER_OVERFLOW == nRel)
{
delete pIpAdapterInfo;
pIpAdapterInfo = (PIP_ADAPTER_INFO)new BYTE[stSize];
nRel = GetAdaptersInfo(pIpAdapterInfo, &stSize);
//return -1;
}
if (ERROR_SUCCESS == nRel)
{
//maybe we have >1 network card
while (pIpAdapterInfo)
{
s_ip_fname ipf;
switch (pIpAdapterInfo->Type)
{
case MIB_IF_TYPE_OTHER:
//cout
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?