정리 차원에서 쓴다.
MAC Address 가져오는 방법.
이것을 사용해서 Ethernet인 경우의 MAC address만 출력하는 소스.
급조한것이긴 하지만 개발중인 소스를 올릴수는 없지 않은가? ㅡㅡ;;
PrintToHex은 당연히 데이터를 HEX 로 찍는 함수다.
#include <IPHlpApi.h>
#pragma comment(lib, "iphlpapi.lib")
IP_ADAPTER_INFO*
GetNetworkAdaptersInfo()
{
DWORD dwBufLen = 0;
DWORD dwStatus = GetAdaptersInfo(NULL, &dwBufLen);
ASSERT(dwStatus == ERROR_BUFFER_OVERFLOW);
IP_ADAPTER_INFO* pAdapterInfo = (IP_ADAPTER_INFO*)malloc(dwBufLen);
dwStatus = GetAdaptersInfo(pAdapterInfo, &dwBufLen);
assert(dwStatus == ERROR_SUCCESS);
if(dwStatus != ERROR_SUCCESS)
{
free(pAdapterInfo);
return NULL;
}
return pAdapterInfo;
}
void main()
{
IP_ADAPTER_INFO* pAdaptersInfoList = GetNetworkAdaptersInfo();
IP_ADAPTER_INFO* pAdapterInfo = pAdaptersInfoList;
while(NULL != pAdapterInfo)
{
if(MIB_IF_TYPE_ETHERNET == pAdapterInfo->Type) // Ethernet == 6
{
PrintToHex(pAdapterInfo->Address, pAdapterInfo->AddressLength);
}
pAdapterInfo = pAdapterInfo->Next;
}
free(pAdaptersInfoList);
}
수정을 여기서 직접 해서 돌려보진 못했는데... 돌아가겠지? ㅡㅡ;
싸이 블로그 백업 [하zi 2008.09.18 14:20]