我用的是emvc++4.0我想读网卡的mac地址,用了几个函数都没成功。

catac1 2003-12-04 05:40:54
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地址呀。
...全文
139 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
catac 2003-12-08
  • 打赏
  • 举报
回复
evc++ 4.0 找不到nb30.cpp这个文件,硬盘里都没有,还有没有办法了。
shootingstars 2003-12-08
  • 打赏
  • 举报
回复
4.0?是nt4.0还是vc4.0?NT4.0肯定没有问题,vc4.0我可没有试验过。
关于lnk2019错误,我遇到的最常见的是没有链接正确的库文件或者你的实现文件采用了c格式,而调用文件的格式是c++的,你把所有文件都改成.cpp试一试。。。

本想给你摘一篇关于链接错误的总结,可怎么也找不到了,你自己再找找看吧。
catac1 2003-12-07
  • 打赏
  • 举报
回复
这样 一样 不成,还是原来的错了,我用 的是4.0是不是有什么限制呢。
catac1 2003-12-05
  • 打赏
  • 举报
回复
我试试中不
checkyvc6 2003-12-05
  • 打赏
  • 举报
回复
首先:
在wince下是不支持netbois

我想你找一下 相应的lib文件然后AddToProject即可



clancy 2003-12-05
  • 打赏
  • 举报
回复
给你一段代码先:

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
alfwolf 2003-12-05
  • 打赏
  • 举报
回复
但是必须注意,在wince中是不是支持该函数
需要你自己试试,可以查看EVC的联机帮助
alfwolf 2003-12-05
  • 打赏
  • 举报
回复
可以在Project\settings\link中包含该文件Iphlpapi.lib
catac1 2003-12-05
  • 打赏
  • 举报
回复
没人理我呀,为什么,都帮我顶一下呀
shootingstars 2003-12-05
  • 打赏
  • 举报
回复
没有链接Iphlpapi.lib
菜单:project->setting->link
在object/libaray modules中添加Iphlpapi.lib
catac 2003-12-05
  • 打赏
  • 举报
回复
我把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
好像和上面差不多了,还是不成,怎么办呀,我真是没折了,大哥们,再给拿个主意吧,有什么好的半法没有呀。

catac1 2003-12-05
  • 打赏
  • 举报
回复
哪有这个东东呀, checkyvc6(checkyvc6) 我到哪能找到, Netapi32.lib
catac1 2003-12-05
  • 打赏
  • 举报
回复
楼上的那大哥,你给你的的这段代码有,一样不能通过,老是uRetCode=Netbios(&Ncb); 句错误,那两个头文件也包含进来了,就是不成。
catac1 2003-12-04
  • 打赏
  • 举报
回复
大家多多帮忙多帮忙。

2,643

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 硬件/系统
社区管理员
  • 硬件/系统社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧