首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

关于GetAdapterIndex()的有关问题

2012-03-14 
关于GetAdapterIndex()的问题!IPHelper的GetAdapterIndex()函数需要一个参数(Adapter的name)才能得到它的i

关于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;
}

热点排行