如何不重启修改本机IP win7 DhcpNotifyConfigChange无效了

时间:2022-09-21 23:31:06
XP下,可以使用未公开API DhcpNotifyConfigChange来通知系统IP地址已变更。
在win7下使用该API会返回50:ERROR_NOT_SUPPORTED 此API在此环境下不在被支持。

查看dhcpcsvc的输出,发现还有个DhcpNotifyConfigChangeEx,尝试了几次参数都不正确  ESP。。。。
谁能给个此API的参数或者告知怎么查看此API的参数啊?

实在不行就只能想办法从系统里面找了。谁能说下使用ollydbg跟踪netsh或者系统里面修改ip地址那里的属性页,点击确定或应用之后怎么跟踪啊。。
实在不想使用netsh命令去处理


或者win7下有其他修改IP地址的API吗?
写网卡驱动的大神们,或许会知道?  是不是网卡驱动必须实现系统的某个API?如果需要实现某个API的话,有没有一个API的作用是通知系统IP地址已经改变?或者修改IP地址的作用?


蛋疼了,做了快3个星期的东西,开始的时候没调试一下看下那个api的返回值,就把后面的东西都做了。

3 个解决方案

#1


我来结帖子吧:
根据网卡guid可以在注册表中查询到网卡对应的连接名称,如“本地连接1”之类的。修改了注册表中对应的IP地址之后,将对应的连接先禁用,再启用,就可以使注册表中的IP生效了。
这里的网卡禁用,然后启用的作用就相当于调用DhcpNotifyConfigChange了。

#2


引用 1 楼 mack13013 的回复:
我来结帖子吧:
根据网卡guid可以在注册表中查询到网卡对应的连接名称,如“本地连接1”之类的。修改了注册表中对应的IP地址之后,将对应的连接先禁用,再启用,就可以使注册表中的IP生效了。
这里的网卡禁用,然后启用的作用就相当于调用DhcpNotifyConfigChange了。
您这又网卡禁用和启动的代码吗?我的重启在32位下有用,在64位下无效

#3


http://blog.csdn.net/delbboy/article/details/7446409

#1


我来结帖子吧:
根据网卡guid可以在注册表中查询到网卡对应的连接名称,如“本地连接1”之类的。修改了注册表中对应的IP地址之后,将对应的连接先禁用,再启用,就可以使注册表中的IP生效了。
这里的网卡禁用,然后启用的作用就相当于调用DhcpNotifyConfigChange了。

#2


引用 1 楼 mack13013 的回复:
我来结帖子吧:
根据网卡guid可以在注册表中查询到网卡对应的连接名称,如“本地连接1”之类的。修改了注册表中对应的IP地址之后,将对应的连接先禁用,再启用,就可以使注册表中的IP生效了。
这里的网卡禁用,然后启用的作用就相当于调用DhcpNotifyConfigChange了。
您这又网卡禁用和启动的代码吗?我的重启在32位下有用,在64位下无效

#3


http://blog.csdn.net/delbboy/article/details/7446409