WMI EnableDHCP在连接的适配器上失败

我正在使用WMI Win32_NetworkAdapterConfiguration类EnableDHCP方法来启用networking适配器上的DHCP服务。 我正在使用XP Embedded SP2,但是它也发生在我的桌面(XP SP3)上。

除非拔下网线,否则一切都很好。

如果电缆断开连接,EnableDHCP将返回94(path,文件或对象未find),并且在查看networking控制面板属性时,将其设置为手动configuration,地址为0.0.0.0,掩码为255.0.0.0。

奇怪的是,在这种状态下,EnableStatic第一次失败,代码为94或81(无法configurationDHCP服务),然后再次运行。

即使拔下电缆,启用DHCP也能正常使用netsh或windows GUI。

有人知道如何解决这个问题?

似乎至少有一个其他人有兴趣,所以这里是我发现的:

据我所知,这是WMI中的一个错误。 为了解决这个问题,似乎有效的方法是直接为适配器设置适当的注册表值。 这些都存储在注册表下

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\Tcpip\Parameters\Interfaces\<guid> 

guid包含在由GetAdaptersInfo填充的IP_ADAPTER_INFO结构中。

将EnableDHCP DWORD值设置为1。

我还发现使用WMI SetGateway清除网关很有用,否则旧的网关就会挂起。

我也发现,当EnableStatic说失败,它实际上工作。

这个东西只有在网络断开时才有意义。