吵吵   2011-03-03  阅读:2,512

在网络编程中,我们往往需要使用到一些网络操作,比如获取网卡的MAC地址等等。这一系列的操作我们可以使用iphlpapi这些函数来解决这些问题,这个是一个重新获取ip地址的代码:呵呵,写成uint是为了在线程中使用,毕竟重新获取一下ip要等蛮久的。

UINT renewIP(LPVOID pParam )

{
 PIP_INTERFACE_INFO pInfo;
 ULONG ulOutBufLen = 0;
 DWORD dwRetVal = 0;
 int iReturn = 1;
 int i;
 dwRetVal = GetInterfaceInfo(NULL, &ulOutBufLen);
 if (dwRetVal == ERROR_INSUFFICIENT_BUFFER)
  {
   pInfo = (IP_INTERFACE_INFO *) MALLOC(ulOutBufLen);
   if (pInfo == NULL)
   {
    return 1;
   }
  }
  dwRetVal = GetInterfaceInfo(pInfo, &ulOutBufLen);
  if (dwRetVal == NO_ERROR)
  {
   for (i = 0; i < (int) pInfo->NumAdapters; i++) //这里我就把每个设备都重新获取ip了 如果你有多个的话要区分一下了www.chaochaoblog.com   {
    if ((dwRetVal = IpRenewAddress(&pInfo->Adapter[i])) == NO_ERROR)
    {

    }
           
   }
  }
 FREE(pInfo);
 return 0;
}

吵吵微信朋友圈,请付款实名加入:

吵吵 吵吵

发表评论

电子邮件地址不会被公开。 必填项已用*标注