C++Builder Programming Forum
C++Builder  |  Delphi  |  FireMonkey  |  C/C++  |  Free Pascal  |  Firebird
볼랜드포럼 BorlandForum
 경고! 게시물 작성자의 사전 허락없는 메일주소 추출행위 절대 금지
C++빌더 포럼
Q & A
FAQ
팁&트릭
강좌/문서
자료실
컴포넌트/라이브러리
메신저 프로젝트
볼랜드포럼 홈
헤드라인 뉴스
IT 뉴스
공지사항
자유게시판
해피 브레이크
공동 프로젝트
구인/구직
회원 장터
건의사항
운영진 게시판
회원 메뉴
북마크
볼랜드포럼 광고 모집

C++빌더 Q&A
C++Builder Programming Q&A
[65240] NetBios API 함수 응답이 늦은것을 해결 방법은?
졸리운곰 [] 1639 읽음    2011-09-28 17:15
공유기에 연결된 Mac Address를 검출하는 기능을 구현하고 있는데,
아래 소스를 활용하여 구현하였으며, IP를 Ping으로 확인 한 후
해당 IP의 Mac Address를 검출하는 것인데,
아래 소스의 주석문에서 응답이 늦어지고 있어요.
아래 소스를 수정 또는 다른 방법이 있으면 알려주세요.

struct ASTAT
{
    ADAPTER_STATUS adapt;
    NAME_BUFFER    NameBuff[30];
};

AnsiString __fastcall TForm1::GetMACAddr(int nAdapterNum, String strIpAddress)
{
  NCB ncb;
  memset(&ncb, 0, sizeof(ncb));
  ncb.ncb_command  = NCBRESET;
  ncb.ncb_lana_num = nAdapterNum;
  if (Netbios(&ncb)!=NRC_GOODRET) return "";

  ASTAT Adapter;
  memset(&ncb, 0, sizeof(ncb));
  ncb.ncb_command  = NCBASTAT;
  ncb.ncb_lana_num = nAdapterNum;
  strcpy(ncb.ncb_callname, strIpAddress.c_str());
  ncb.ncb_buffer = (char *)&Adapter;
  ncb.ncb_length = sizeof(Adapter);
  if (Netbios(&ncb)!=NRC_GOODRET) return "";  <== 이부분에 늦게 반응해요.


  return AnsiString().sprintf("%02X-%02X-%02X-%02X-%02X-%02X",
    Adapter.adapt.adapter_address[0], Adapter.adapt.adapter_address[1],
    Adapter.adapt.adapter_address[2], Adapter.adapt.adapter_address[3],
    Adapter.adapt.adapter_address[4], Adapter.adapt.adapter_address[5]);
}

+ -

관련 글 리스트
65240 NetBios API 함수 응답이 늦은것을 해결 방법은? 졸리운곰 1639 2011/09/28
Google
Copyright © 1999-2015, borlandforum.com. All right reserved.