function   NBGetAdapterAddress(a:   integer):   String;
  //a指定多个网卡适配器中的哪一个0,1,2...   
  Var   
      NCB:TNCB;   		//NetBios控制块   
      ADAPTER:TADAPTERSTATUS;   //取网卡状态   
      LANAENUM:TLANAENUM;	//Netbios   lana   
      intIdx:Integer;		//Temporary   work   value//临时变量   
      cRC:Char;   		//NetBios返回值   
      strTemp:String;		//Temporary   string//临时变量   
    
  Begin   
      //   Initialize   
      Result   :=   '';   
    
      Try   
          //   Zero   control   blocl   
          ZeroMemory(@NCB,   SizeOf(NCB));   
    
          //   Issue   enum   command   
          NCB.ncb_command:=Chr(NCBENUM);   
          cRC   :=   NetBios(@NCB);   
    
          //   Reissue   enum   command   
          NCB.ncb_buffer   :=   @LANAENUM;   
          NCB.ncb_length   :=   SizeOf(LANAENUM);   
          cRC   :=   NetBios(@NCB);   
          If   Ord(cRC)<>0   Then   
              exit;   
    
          //   Reset   adapter   
          ZeroMemory(@NCB,   SizeOf(NCB));   
          NCB.ncb_command   :=   Chr(NCBRESET);   
          NCB.ncb_lana_num   :=   LANAENUM.lana[a];   
          cRC   :=   NetBios(@NCB);   
          If   Ord(cRC)<>0   Then   
              exit;   
    
          //   Get   adapter   address   
          ZeroMemory(@NCB,   SizeOf(NCB));   
          NCB.ncb_command   :=   Chr(NCBASTAT);   
          NCB.ncb_lana_num   :=   LANAENUM.lana[a];   
          StrPCopy(NCB.ncb_callname,   '*');   
          NCB.ncb_buffer   :=   @ADAPTER;   
          NCB.ncb_length   :=   SizeOf(ADAPTER);   
          cRC   :=   NetBios(@NCB);   
    
          //   Convert   it   to   string   
          strTemp   :=   '';   
          For   intIdx   :=   0   To   5   Do
              begin
                  strTemp   :=   strTemp   +   InttoHex(Integer(ADAPTER.adapter_address[intIdx]),2);
                  if intIdx <> 5 then
                  strTemp   :=   strTemp + '-';
              end;
          Result   :=   strTemp;   
      Finally   
      End;   

end;
posted on 2010-01-31 23:41  oKmAn.Org  阅读(264)  评论(0编辑  收藏  举报