获取网卡信息

来源:互联网 发布:编程教学网站 编辑:程序博客网 时间: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"
原创粉丝点击