|
공유기에 연결된 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]);
}
|