15,980
社区成员
发帖
与我相关
我的任务
分享
#pragma comment(lib, "Iphlpapi.lib") // 动态加载库
// 取本机MAC
void CUDPcommThread::GetLocalMac(u_char* mac)
{
PIP_ADAPTER_INFO pAdapterInfo;
PIP_ADAPTER_INFO pAdapter=NULL;
DWORD dwRetVal=0;
pAdapterInfo=new IP_ADAPTER_INFO; // 分配空间
ULONG ulOutBufLen=sizeof(IP_ADAPTER_INFO);
if(GetAdaptersInfo(pAdapterInfo,&ulOutBufLen)!=ERROR_SUCCESS)
{
delete pAdapterInfo;
return;
}
if((dwRetVal=GetAdaptersInfo(pAdapterInfo,&ulOutBufLen))==NO_ERROR)
{
pAdapter=pAdapterInfo;
memcpy((BYTE*)mac,pAdapter->Address,6);
while(pAdapter)
{
if(pAdapter->Type == MIB_IF_TYPE_ETHERNET)
memcpy((BYTE*)mac,pAdapter->Address,6);
pAdapter=pAdapter->Next;
}
}
delete pAdapterInfo;
}