您的位置:首页 > 理论基础 > 计算机网络

获取网络,本地连接的具体名称(Friendly Name)

2010-07-02 15:40 106 查看
工作需要,程序需要 以下代码可以得到 本地连接的具体名称。在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);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐