获取网卡信息
来源:互联网 发布:编程教学网站 编辑:程序博客网 时间:2024/04/28 07:14
PIP_ADAPTER_INFO pAdapterInfo; 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==71) //pAdapter->Type是71为:无线网卡 //pAdapter->Description中包含"PCI"为:物理网卡 { printf("------------------------------------\n"); printf("AdapterName:%s\n",pAdapter->AdapterName); printf("AdapterDesc:%s\n",pAdapter->Description); printf("AdapterAddr:"); for(UINT i=0;i<pAdapter->AddressLength;i++) { printf("%02X%c",pAdapter->Address[i],i==pAdapter->AddressLength-1?'n':'-'); } printf("\n"); printf("AdapterType:%d\n",pAdapter->Type); printf("IPAddress:%s\n",pAdapter->IpAddressList.IpAddress.String); printf("IPMask:%s\n",pAdapter->IpAddressList.IpMask.String); printf("Gateway:%s\n", pAdapter->GatewayList.IpAddress.String); if(pAdapter->DhcpEnabled) { printf("DHCP Enabled: Yes\n"); printf("DHCP Server:%s\n", pAdapter->DhcpServer.IpAddress.String); } else printf("DHCP Enabled:No\n"); } pAdapter=pAdapter->Next; }} else { printf("CalltoGetAdaptersInfofailed.n"); } return 0;
要加头文件"iphlpapi.h"