我在用NETBIOS通信协议接受数据包时,
  1.定义了ncb结构,type ncb=packed record........
    但在运行以下函数时总是不能成功返回。why?
    function NETBIOS_ResetALL  (g_lenum:PLANAENUM;MaxSession:uchar;MaxName:uchar;bFirstName:boolean):integer;
var
  ancb:ncb;
  i:integer;
begin
  ZeroMemory(@ancb,sizeof(NCB));
  ancb.ncb_callname[0]:=char(MaxSession);
  ancb.ncb_callname[2]:=char(MaxName);
  ancb.ncb_callname[3]:=char(bFirstname);
  ancb.ncb_command:=NCBRESET;
  for i:=0 to integer(g_lenum.length)-1 do begin
     ancb.ncb_lana_num:=BYTE(g_lenum.lana[i]);
     netbios(addr(ancb));
     if (ancb.ncb_retcode<>NRC_GOODRET) THEN begin
       result:=ancb.ncb_retcode;//返回为7或者3。
       exit;
     end;
  end;
  result:=NRC_GOODRET;
end;2.定义ncb结构时如果去掉packed,如type ncb=record........
  则运行NETBIOS_ResetALL能成功调用,然后,创建ncb_event,并加名成功,调用NETBIOS_LISTEN,
  返回0,NCB_ncb_cmd_cplt=255;然后进入线程,调用以下语句时无返回。why?
  dwRet:=WaitForMultipleObjects(dword(g_lenum.length),@g_hArray,false,INFINITE);
  为什莫无返回,是不是ncb_event没触发。如果论坛不便,请将qq发给我。我的QQ:30282322