GetAdaptersInof获取本地连接的网卡信息,排除无线网卡和虚拟网卡
2015-06-19 10:06
639 查看
/* 只获取本地连接的网卡信息,并不获取无线网卡和虚拟网卡的信息,要想获取无线网卡的信息,需把if(strstr(pAdapter->Description,"PCI")>0 && pAdapter- >Type==MIB_IF_TYPE_ETHERNET)改成if(strstr(pAdapter->Type==71),若要获取虚拟网卡的信息,需把if(strstr(pAdapter->Description,"PCI")>0 && pAdapter->Type==MIB_IF_TYPE_ETHERNET)改成if(pAdapter->Type==MIB_IF_TYPE_ETHERNET) */ #include "stdafx.h" #include <atlbase.h> #include <atlconv.h> #include "iphlpapi.h" #pragma comment(lib,"Iphlpapi.lib") int main() { PIP_ADAPTER_INFO pAdapterInfo=NULL; PIP_ADAPTER_INFO pAdapter=NULL; DWORD dwRetVal=0; pAdapterInfo=(IP_ADAPTER_INFO*)malloc(sizeof(IP_ADAPTER_INFO)); ULONG ulOutBufLen=sizeof(IP_ADAPTER_INFO); if(GetAdaptersInfo(pAdapterInfo,&ulOutBufLen)!=ERROR_SUCCESS) { GlobalFree(pAdapterInfo); pAdapterInfo=(IP_ADAPTER_INFO*)malloc(ulOutBufLen); } if((dwRetVal=GetAdaptersInfo(pAdapterInfo,&ulOutBufLen))==NO_ERROR) { pAdapter=pAdapterInfo; while(pAdapter) { if(strstr(pAdapter->Description,"PCI")>0 && pAdapter->Type==MIB_IF_TYPE_ETHERNET) { printf("______________________________________\n"); printf("Name:%s\n",pAdapter->AdapterName); printf("Desc:%s\n",pAdapter->Description); for(UINT i=0;i<pAdapter->AddressLength;i++) { printf("%02X%c",pAdapter->Address[i],i==pAdapter->AddressLength-1?'\n':'-'); } printf("Type:%d\n",pAdapter->Type); printf("Address:%s\n",pAdapter->IpAddressList.IpAddress.String); printf("Mask:%s\n",pAdapter->IpAddressList.IpMask.String); printf("Gateway:%s\n",pAdapter->GatewayList.IpAddress.String); } pAdapter=pAdapter->Next; } } else printf("Call to GetAdaptersInfo failed!\n"); return 0; }
相关文章推荐
- 给Sublime text2安装Zen Coding插件
- 基础学习总结(六)--getContentRolver()的应用、内容监听者ContentObserver
- git命令
- 郭德纲语录
- BeanUtils
- 按分类 统计各分类下的记录数
- ScrollView中嵌套的viewPager,viepager高度设置为wrap_content时内容不显示问题以及与scrollview冲突的解决方案
- Theano2.1.15-基础知识之theano如何处理shapre信息
- Node.js学习--基础知识(9)--HTTP客户端
- ffmpeg学习笔记目录
- MobaSSH SSH server for Windows - Download Home Edition
- 脚本语言精粹
- Theano2.1.15-基础知识之theano如何处理shapre信息
- 杜月笙语录
- ProgressDialog中的Context注意事项
- Android Bundle类别
- c#语言实现对电脑文件夹的批量改名,选定改名
- 使用text-shadow实现文字特效
- Linux read系统调用
- linux常用命令