问关于netbios的addname的问题(学生,帮帮忙吧)

efinal 2003-05-29 10:28:06
USGC NetbiosAddName(char *Name)
{
struct Ncb AddNameNcb;
ClearNcb(&AddNameNcb);
AddNameNcb.NcbCommand=NETBIOS_ADD_NAME;
strncpy(AddNameNcb.NcbName,Name,strlen(Name));
AddNameNcb.NcbName[15]=char(SESSION_NAME_TERMINATOR);
AddNameNcb.NcbLanaNum=0;//这里硬性指定好像不太对,但是不知道怎么办
//下面就是NetbiosRequest的内容
//union REGS InRegs;
//segread(&SegRegs);
//SegRegs.es=FP_SEG(&AddNameNcb);
//InRegs.x.bx=FP_OFF(&AddNameNcb);
//int j;
//j=int86x(0x5C,&InRegs,&InRegs,&SegRegs);//这个返回值不知道是什么意思

NetbiosRequest(&AddNameNcb);
//书上说执行了netbios的addname命令以后,他会自动将分配的名字号返回给ncb的
//NcbNum,但是如下面的代码,AddNameNcb.NcbNum这个老是为0
if(AddNameNcb.NcbCmdCplt!=0)
{
printf("ERROR.Could not add name");
return ILLEGAL_NAME_NUM;//这个define为0
//exit(1);
}
else
{
//不明白,程序显示的是下面这个提示,那就说明netbios命令
//成功执行了阿,那 AddNameNcb.NcbNum怎么还是0呢?
printf("successful add name %d",AddNameNcb.NcbNum);
return AddNameNcb.NcbNum;
}
}


想了半天都不明白是怎么回事?书上说直接就能返回的,但是这样好象添加名字没有
成功阿?各位大哥帮帮忙吧:)

这里真的有好多好心人的,上次好心的人们还帮我解决了一个dns的问题:)
...全文
28 回复 打赏 收藏 转发到动态 举报
写回复
用AI写文章
回复
切换为时间正序
请发表友善的回复…
发表回复

4,391

社区成员

发帖
与我相关
我的任务
社区描述
通信技术相关讨论
社区管理员
  • 网络通信
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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