读取本地Mac address

BOOL GetMacAddress(WCHAR address[])
{
 IP_ADAPTER_INFO *pAdapterInfo;
    IP_ADAPTER_INFO *pAdapter = NULL;
 DWORD dwRetVal = 0;
 ULONG ulOutBufLen;
 pAdapterInfo=(IP_ADAPTER_INFO*)malloc(sizeof(IP_ADAPTER_INFO));
 ulOutBufLen = sizeof(IP_ADAPTER_INFO);
 
 if (GetAdaptersInfo(pAdapterInfo, &ulOutBufLen) == ERROR_BUFFER_OVERFLOW)
 {
  free(pAdapterInfo);
  pAdapterInfo = (IP_ADAPTER_INFO*) malloc(ulOutBufLen);
 }

 if ((dwRetVal = GetAdaptersInfo( pAdapterInfo, &ulOutBufLen)) == NO_ERROR)
 {
  pAdapter = pAdapterInfo;
  WCHAR sz[20];
  
  memset(sz, 0, 20*sizeof(WCHAR));

  while (pAdapter)
  {
   if ( (0 == strcmp(pAdapter->AdapterName,"SDCSD30AG1")) || (0 == strcmp(pAdapter->AdapterName,"SDIO86861")))
   {  
    swprintf (sz, L"%02x.%02x.%02x.%02x.%02x.%02x/0", pAdapter->Address[0], pAdapter->Address[1], pAdapter->Address[2], pAdapter->Address[3], pAdapter->Address[4], pAdapter->Address[5]);
    //RETAILMSG(1,(TEXT("--sz--(%s)------/n"),sz));
    break;
   }
   pAdapter = pAdapter->Next;
  }
  
  wcscpy(address,sz);

  free(pAdapterInfo);

  return TRUE;
 }
 
 wcscpy(address,TEXT(""));

 free(pAdapterInfo);
 return FALSE;
}

 

 

关键是对IP_ADAPTER_INFO理解和应用。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值