工作需要,程序需要 以下代码可以得到 本地连接的具体名称。在VC 6.0下需安装sdk.
添加 以下代码:
#include <Mprapi.h>
#include <iphlpapi.h>
#pragma comment( lib, "Iphlpapi.lib" )
#pragma comment( lib, "Mprapi.lib" )
HANDLE hMprConfig;
DWORD dwRet=0;
CString strInfo,strTmp;
PIP_INTERFACE_INFO plfTable=NULL;
IP_ADAPTER_INDEX_MAP AdaptMap;
DWORD dwBufferSize=0;
WCHAR szFriendName[256];
DWORD tchSize=sizeof(WCHAR)*256;
ZeroMemory(&szFriendName,tchSize);
dwRet=MprConfigServerConnect (NULL,&hMprConfig);
dwRet=GetInterfaceInfo(NULL,&dwBufferSize);
if(dwRet==ERROR_INSUFFICIENT_BUFFER)
{
plfTable=(PIP_INTERFACE_INFO)HeapAlloc(GetProcessHeap(),HEAP_ZERO_MEMORY,dwBufferSize);
GetInterfaceInfo(plfTable,&dwBufferSize);
}
strInfo.Empty();
for(UINT i=0;i<plfTable->NumAdapters;i++)
{
AdaptMap=plfTable->Adapter[i];
dwRet=MprConfigGetFriendlyName(hMprConfig,AdaptMap.Name,(PWCHAR)szFriendName,tchSize);
char szName[256];
memset( szName, 0, 256 );
int nLen = WideCharToMultiByte( CP_ACP,NULL, szFriendName,-1,NULL,0,NULL,FALSE );
WideCharToMultiByte (CP_ACP,NULL,szFriendName,-1,szName,nLen,NULL,FALSE);
strTmp.Format(_T("Index:%u/nName:%s/n"),AdaptMap.Index,szName);
strInfo+=strTmp;
}
AfxMessageBox(strInfo);
HeapFree(GetProcessHeap(),HEAP_ZERO_MEMORY,plfTable);