根据别人的改写的,修正了几个错误。
#include"iphlpapi.h"
#pragma comment(lib,"Iphlpapi.lib")
int _tmain(int argc, TCHAR* argv[], TCHAR* envp[])
{
PIP_ADAPTER_INFO pAdapterInfo;
PIP_ADAPTER_INFO pAdapter=NULL;
DWORD dwRetVal=0;
pAdapterInfo=(IP_ADAPTER_INFO*)malloc(sizeof(IP_ADAPTER_INFO));
ULONG ulOutBufLen=sizeof(IP_ADAPTER_INFO);
if((dwRetVal=GetAdaptersInfo(pAdapterInfo,&ulOutBufLen))==NO_ERROR)
{
pAdapter=pAdapterInfo;
while(pAdapter)
{
printf("------------------------------------------------------------\r\n");
printf("Adapter Info:\r\n");
printf("------------------------------------------------------------\r\n");
printf("%-12s %s\n","AdapterName:",pAdapter->AdapterName);
printf("%-12s %s\n","AdapterDesc:",pAdapter->Description);
printf("%-12s ","AdapterAddr:");
for(UINT i=0;i<pAdapter->AddressLength;i++)
{
if (i<pAdapter->AddressLength - 1)
printf("%02X%c",pAdapter->Address[i],'-');
else
printf("%02X",pAdapter->Address[i]);
}
printf("\r\n");
printf("%-12s %d\r\n","AdapterType:",pAdapter->Type);
printf("%-12s %s\r\n","IPAddress:",pAdapter->IpAddressList.IpAddress.String);
printf("%-12s %s\r\n","IPMask:",pAdapter->IpAddressList.IpMask.String);
printf("------------------------------------------------------------\r\n");
pAdapter=pAdapter->Next;
}
}
else
{
printf("Get Net Adapter Information.\r\n");
}
free(pAdapterInfo);
getchar();
return 0;
}