// Find out how big our buffer needs to be to hold the data
dwStatus = GetAdaptersInfo(pAdapterInfo, &ulSizeAdapterInfo);
if (dwStatus == ERROR_BUFFER_OVERFLOW) {
// Allocate a buffer of the appropriate size
if (!(pAdapterInfo = (PIP_ADAPTER_INFO)malloc(ulSizeAdapterInfo))) {
printf("\n Insufficient Memory ");
return(1);
}
// Obtain the Adapter Info
dwStatus = GetAdaptersInfo(pAdapterInfo, &ulSizeAdapterInfo);
}
if (dwStatus != ERROR_SUCCESS) {
return(1);
}
pOriginalPtr = pAdapterInfo;
if (pAdapterInfo == NULL)
printf("\n No Interfaces Present.\n");
else
{
// Step through the adapter list
while (pAdapterInfo != NULL)
{
Print_IP_ADAPTER_INFO(pAdapterInfo);
pAdapterInfo = pAdapterInfo->Next;
}
}
return 0;
}