演示代码如下:
AdapterName:{08D07467-7622-4C52-B869-41AFF61D9651}
AdapterDesc:Broadcom NetLink (TM) Gigabit Ethernet
AdapterAddr:B8-AC-6F-1A-6A-46
AdapterType:6
IPAddress:172.16.27.30
IPMask:255.255.255.0
#pragma comment(lib,"Iphlpapi.lib")
#include <atlbase.h>
#include <atlconv.h>
#include <iphlpapi.h>
int main()
{
DWORD dwRetVal = 0;
IP_ADAPTER_INFO adapterInfo ={0};
IP_ADAPTER_INFO *pAdapter = NULL;
ULONG ulOutBufLen = sizeof(adapterInfo);
dwRetVal = GetAdaptersInfo(&adapterInfo, &ulOutBufLen);
if(dwRetVal == NO_ERROR)
{
pAdapter = &adapterInfo;
printf("AdapterName:%s\n",pAdapter->AdapterName);
printf("AdapterDesc:%s\n",pAdapter->Description);
printf("AdapterAddr:");
for(UINT i=0;i<pAdapter->AddressLength;i++)
{
printf("%02X%c", pAdapter->Address[i],
i == pAdapter->AddressLength-1 ? '\n' : '-');
}
printf("AdapterType:%d\n",pAdapter->Type);
printf("IPAddress:%s\n",pAdapter->IpAddressList.IpAddress.String);
printf("IPMask:%s\n",pAdapter->IpAddressList.IpMask.String);
}
else
{
printf("GetAdaptersInfo() failed.");
}
return 0;
}
测试运行结果如下:
AdapterName:{08D07467-7622-4C52-B869-41AFF61D9651}
AdapterDesc:Broadcom NetLink (TM) Gigabit Ethernet
AdapterAddr:B8-AC-6F-1A-6A-46
AdapterType:6
IPAddress:172.16.27.30
IPMask:255.255.255.0