PIP_ADAPTER_INFO pInfo=NULL,pNext=NULL;
DWORD size=0,result;
TCHAR buffer[32];
result=GetAdaptersInfo(pInfo,&size);
if(result==ERROR_BUFFER_OVERFLOW)
{
  pInfo=(PIP_ADAPTER_INFO)malloc(size);
  result=GetAdaptersInfo(pInfo,&size);
  if(result==ERROR_SUCCESS)
    {
     printf(buffer+i*2,"%02x",pNext->Address[i]);
    }
}
用这个老是说有错可是它又指不出哪错来,
只是说
test4Dlg.obj : error LNK2019: unresolved external symbol _GetAdaptersInfo referenced in function "protected: void __thiscall CTest4Dlg::OnButton2(void)" (?OnButton2@CTest4Dlg@@IAEXXZ)
X86Dbg/test4.exe : fatal error LNK1120: 1 unresolved externals
请大家帮我指点指点
是不是哪个头文件没有呀,我加上了iphlpapi.h 可是它说找不到,我自己搜索了一下在别的安装目录下找到了,我就把它copy到了程序目录下,就出现上面的错了,要是头文件的问题我怎么解决呀。是不是没有办法了。
要是那样的话,还有没有别的方法来得到mac地址呀。

解决方案 »

  1.   

    可以在Project\settings\link中包含该文件Iphlpapi.lib
      

  2.   

    但是必须注意,在wince中是不是支持该函数
    需要你自己试试,可以查看EVC的联机帮助
      

  3.   

    给你一段代码先:typedefstruct_ASTAT_ 

    ADAPTER_STATUSadapt; 
    NAME_BUFFERNameBuff[30]; 
    }ASTAT,*PASTAT; ASTATAdapter; voidmain(void) 

    NCBNcb; 
    UCHARuRetCode; 
    charNetName[50]; 
    LANA_ENUMlenum; 
    inti; memset(&Ncb,0,sizeof(Ncb)); 
    Ncb.ncb_command=NCBENUM; 
    Ncb.ncb_buffer=(UCHAR*)&lenum; 
    Ncb.ncb_length=sizeof(lenum); 
    uRetCode=Netbios(&Ncb); 
    printf("TheNCBENUMreturncodeis:0x%x\n",uRetCode); for(i=0;ibr>{ 
    memset(&Ncb,0,sizeof(Ncb)); 
    Ncb.ncb_command=NCBRESET; 
    Ncb.ncb_lana_num=lenum.lana[i]; uRetCode=Netbios(&Ncb); 
    printf("TheNCBRESETonLANA%dreturncodeis:0x%x\n", 
    lenum.lana[i],uRetCode); memset(&Ncb,0,sizeof(Ncb)); 
    Ncb.ncb_command=NCBASTAT; 
    Ncb.ncb_lana_num=lenum.lana[i]; strcpy(Ncb.ncb_callname,"*"); 
    Ncb.ncb_buffer=(char*)&Adapter; 
    Ncb.ncb_length=sizeof(Adapter); uRetCode=Netbios(&Ncb); 
    printf("TheNCBASTATonLANA%dreturncodeis:0x%x\n", 
    lenum.lana[i],uRetCode); 
    if(uRetCode==0) 

    printf("TheEthernetNumberonLANA%dis: 
    %02x%02x%02x%02x%02x%02x\n", 
    lenum.lana[i], 
    Adapter.adapt.adapter_address[0], 
    Adapter.adapt.adapter_address[1], 
    Adapter.adapt.adapter_address[2], 
    Adapter.adapt.adapter_address[3], 
    Adapter.adapt.adapter_address[4], 
    Adapter.adapt.adapter_address[5]); 


    } Keywords:kbnetworkkbAPIkbNetBIOSkbNTOS310kbNTOS350kbNTOS351kbS 
    DKPlatformkbWinOS95kbGrpNet 
      

  4.   

    首先:
    在wince下是不支持netbois我想你找一下 相应的lib文件然后AddToProject即可
      

  5.   

    楼上的那大哥,你给你的的这段代码有,一样不能通过,老是uRetCode=Netbios(&Ncb); 句错误,那两个头文件也包含进来了,就是不成。
      

  6.   

    哪有这个东东呀, checkyvc6(checkyvc6)  我到哪能找到, Netapi32.lib
      

  7.   

    我把netapi32.lib 加到我的工程里了,可是还是不成提示:
    test4Dlg.obj : error LNK2019: unresolved external symbol _Netbios referenced in function "void __cdecl getmac_one(int)" (?getmac_one@@YAXH@Z)
    X86Dbg/test4.exe : fatal error LNK1120: 1 unresolved externals
    好像和上面差不多了,还是不成,怎么办呀,我真是没折了,大哥们,再给拿个主意吧,有什么好的半法没有呀。
      

  8.   

    没有链接Iphlpapi.lib
    菜单:project->setting->link
    在object/libaray modules中添加Iphlpapi.lib
      

  9.   

    4.0?是nt4.0还是vc4.0?NT4.0肯定没有问题,vc4.0我可没有试验过。
    关于lnk2019错误,我遇到的最常见的是没有链接正确的库文件或者你的实现文件采用了c格式,而调用文件的格式是c++的,你把所有文件都改成.cpp试一试本想给你摘一篇关于链接错误的总结,可怎么也找不到了,你自己再找找看吧。
      

  10.   

    evc++ 4.0 找不到nb30.cpp这个文件,硬盘里都没有,还有没有办法了。