AddIPAddress为什么返回错误,求助

M9190 2016-07-22 11:28:13
    
IPAddr iaIPAddress;
IPMask imIPMask;

iaIPAddress = inet_addr("192.168.1.27");
imIPMask = inet_addr("255.255.255.0");

// 返回的句柄
ULONG NTEContext = 0;
ULONG NTEInstance = 0;

// 向第一个适配器添加IP地址
DWORD dwRet;
printf("dwIndex %ld\n",pIPAddrTable->table[0].dwIndex);
dwRet = AddIPAddress(iaIPAddress, imIPMask,
pIPAddrTable->table[0].dwIndex, &NTEContext, &NTEInstance);
if(dwRet == NO_ERROR)
{
printf(" IP address added.\n");
}
else
{
printf(" AddIPAddress failed.%d \n",dwRet);
LPVOID lpMsgBuf;
// 调用失败,打印出为什么失败
if (FormatMessage(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM |
FORMAT_MESSAGE_IGNORE_INSERTS,
NULL,
dwRet,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
(LPTSTR) &lpMsgBuf,
0,
NULL ))
{
printf("filed %s\n",lpMsgBuf);
}
else
{
DWORD err=GetLastError();
printf("err %d\n",err);
}

}
...全文
222 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
zgl7903 2016-07-22
  • 打赏
  • 举报
回复
5 ERROR_ACCESS_DENIED 是否权限不够? 拿MSDN的例子试试看 https://msdn.microsoft.com/en-us/library/aa365801
M9190 2016-07-22
  • 打赏
  • 举报
回复
FormatMessage输出的是乱码
M9190 2016-07-22
  • 打赏
  • 举报
回复
老是返回错误5
Eleven 2016-07-22
  • 打赏
  • 举报
回复
引用 5 楼 M9190 的回复:
[quote=引用 3 楼 zgl7903 的回复:] 5 ERROR_ACCESS_DENIED 是否权限不够? 拿MSDN的例子试试看 https://msdn.microsoft.com/en-us/library/aa365801
那这个权限怎么搞?[/quote] 右键管理员权限运行??
M9190 2016-07-22
  • 打赏
  • 举报
回复
引用 3 楼 zgl7903 的回复:
5 ERROR_ACCESS_DENIED 是否权限不够? 拿MSDN的例子试试看 https://msdn.microsoft.com/en-us/library/aa365801
那这个权限怎么搞?
M9190 2016-07-22
  • 打赏
  • 举报
回复
有道理,刚才我在别人电脑上试验就能成功!

18,363

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC 网络编程
c++c语言开发语言 技术论坛(原bbs)
社区管理员
  • 网络编程
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧