}IpAdaptersInfoHead = IpAdaptersInfo; do { if (IpAdaptersInfo->Type == MIB_IF_TYPE_ETHERNET) { //Get NIC Service Name(GUID Value) AfxMessageBox(IpAdaptersInfo->AdapterName); } IpAdaptersInfo = IpAdaptersInfo->Next;
}while (IpAdaptersInfo);
if (IpAdaptersInfoHead != NULL) { GlobalFree( IpAdaptersInfoHead ); } }
http://expert.csdn.net/Expert/topic/2342/2342503.xml?temp=.9633448
http://expert.csdn.net/Expert/topic/2277/2277774.xml?temp=.2602045include <Iphlpapi.h>
#pragma comment(lib, "Iphlpapi.lib")
void GetNICInfo()
{
IP_ADAPTER_INFO *IpAdaptersInfo =NULL;
IP_ADAPTER_INFO *IpAdaptersInfoHead =NULL;
IpAdaptersInfo = (IP_ADAPTER_INFO *) GlobalAlloc(GPTR, sizeof( IP_ADAPTER_INFO ));
if (IpAdaptersInfo == NULL)
{
//-return FALSE;
}
DWORD dwDataSize = sizeof( IP_ADAPTER_INFO );
DWORD dwRetVal = GetAdaptersInfo(IpAdaptersInfo,&dwDataSize);if ( ERROR_SUCCESS != dwRetVal)
{
GlobalFree( IpAdaptersInfo );
IpAdaptersInfo = NULL; if( ERROR_BUFFER_OVERFLOW == dwRetVal)
{
IpAdaptersInfo =(IP_ADAPTER_INFO *) GlobalAlloc( GPTR, dwDataSize );
if (IpAdaptersInfo == NULL)
{
//-return FALSE;
}
if ( ERROR_SUCCESS != GetAdaptersInfo( IpAdaptersInfo, &dwDataSize ))
{
GlobalFree( IpAdaptersInfo );
//-return FALSE;
}
}
else
{
//return FALSE;
}
}IpAdaptersInfoHead = IpAdaptersInfo;
do
{
if (IpAdaptersInfo->Type == MIB_IF_TYPE_ETHERNET)
{
//Get NIC Service Name(GUID Value)
AfxMessageBox(IpAdaptersInfo->AdapterName);
}
IpAdaptersInfo = IpAdaptersInfo->Next;
}while (IpAdaptersInfo);
if (IpAdaptersInfoHead != NULL)
{
GlobalFree( IpAdaptersInfoHead );
}
}
你说的没错