//定义一个存放返回网卡信息的变量
NCB ncb;
UCHAR uretcode;
LANA_ENUM lana_enum;
CString str;
memset(&ncb,0,sizeof(ncb));
//指定要执行的命令为NCBENUM,这个命令获得网卡数量和各网卡的编号信息
ncb.ncb_command = NCBENUM;
ncb.ncb_buffer = (unsigned char *)&lana_enum;
ncb.ncb_length = sizeof(lana_enum);
//执行命令
uretcode = Netbios(&ncb);
if(uretcode==0)
{
str.Format("网络适配器数量是:%d\n\n",lana_enum.length);
m_mac=str;
}
UpdateData(false);
调用Netbios(&ncb);之后 这个函数是直接把NCBENUM命令执行后得到的值放回NCB的成员吗?
ncb.ncb_length = sizeof(lana_enum);这句是怎么回事?为什么是sizeof(lana_enum)
难道lana_enum的大小就是网卡的数量?Netbios()明明都还没有执行~那么存放网卡数量怎么用的不是ncb.ncb_length 怎么又成了lana_enum
话说如果ncb.ncb_length = sizeof(lana_enum);这句给的不是sizeof给的是lana_enum的指针倒还能理解
现在我想不通的是Netbios()函数如何把网卡数存到lana_enum中去的?
NCB ncb;
UCHAR uretcode;
LANA_ENUM lana_enum;
CString str;
memset(&ncb,0,sizeof(ncb));
//指定要执行的命令为NCBENUM,这个命令获得网卡数量和各网卡的编号信息
ncb.ncb_command = NCBENUM;
ncb.ncb_buffer = (unsigned char *)&lana_enum;
ncb.ncb_length = sizeof(lana_enum);
//执行命令
uretcode = Netbios(&ncb);
if(uretcode==0)
{
str.Format("网络适配器数量是:%d\n\n",lana_enum.length);
m_mac=str;
}
UpdateData(false);
调用Netbios(&ncb);之后 这个函数是直接把NCBENUM命令执行后得到的值放回NCB的成员吗?
ncb.ncb_length = sizeof(lana_enum);这句是怎么回事?为什么是sizeof(lana_enum)
难道lana_enum的大小就是网卡的数量?Netbios()明明都还没有执行~那么存放网卡数量怎么用的不是ncb.ncb_length 怎么又成了lana_enum
话说如果ncb.ncb_length = sizeof(lana_enum);这句给的不是sizeof给的是lana_enum的指针倒还能理解
现在我想不通的是Netbios()函数如何把网卡数存到lana_enum中去的?
解决方案 »
- 源代码变为lib后,生成的程序小了几十kb,怎么回事?
- vc网络编程 出现wsasocket未定义
- 如何实现如图所示的这样一个控件功能啊?
- 50分求助:hook ddraw出问题!!!!!!!!
- ADO+事务(解决后另行开帖送分,高分呀!)
- *** 为什么我在对话框中自定义的子控件,当有其他窗口经过时,刷新的闪烁非常厉害??***
- 如何在几个线程中对同一个文件不同部分进行读写?
- 关于mfc socket通信的问题?
- 如何获得判断光驱开关状态
- VC+ADO 在操作结果集(Recordset)时,是否可以关闭获得结果集的连接(Connection)
- 求救,关于类似矢量图的绘制工作,不知道怎么入手.
- CStdioFile修改文件内容问题!!!!
原来length只是消息缓存区的大小ncb.ncb_buffer这个指向的是消息缓冲区Netbios应该是通过这个指针修改的lana_enum的内容居然没有人回帖~~
是不是我问的问题太白痴了~~
自己想通了直接结贴了~~