读书人

关于GetAdapterIndex()的有关问题

发布时间: 2012-03-14 12:01:12 作者: rapoo

关于GetAdapterIndex()的问题!
IPHelper的GetAdapterIndex()函数需要一个参数(Adapter的name)才能得到它的index;

Adapter的name是通过GetAdaptersInfo()来得到的;

现在name 已经得到了,是用一个CString类型的变量来接收的;

内容是这种格式:{52234678-C691-46F7-9C23-1EF34328F188};

但是现在的问题是GetAdapterIndex()里面需要的参数(name)类型是LPWSTR;

我将 CString 转成 WCHAR 就会造成内容的丢失,导致使用GetAdapterIndex()的时候返回值是55 (指定的网络资源或设备不再可用。);

怎么样才能使GetAdapterIndex完整的得到name的内容?




[解决办法]
兄弟阿,你要是还用VC++6,的MFC,建议赶快升级
[解决办法]
{52234678-C691-46F7-9C23-1EF34328F188}估计这个不能作为AdapterName传入GetAdapterIndex(), 但GetAdaptersInfo也能返回Index, 如下:

#include "stdio.h "
#include "windows.h "
#include "iphlpapi.h "

int main(void)
{
IP_ADAPTER_INFO iai[10] = { 0 };
ULONG cchBufLen = sizeof( iai );

if( GetAdaptersInfo(iai, &cchBufLen) == NO_ERROR )
{
PIP_ADAPTER_INFO pipai = iai;

do
{
printf( "Adapter Name: %s\n ", pipai-> AdapterName);
printf( "Description: %s\n ", pipai-> Description);
printf( "Adapter Index: %d\n\n ", pipai-> Index); // 这个Index可以吧

pipai = pipai-> Next;
}while( pipai != NULL );
}

return 0;
}

读书人网 >VC/MFC

热点推荐