//定义一个存放返回网卡信息的变量
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中去的?