2009-08-12 82 views
9

我正在使用WMI Win32_NetworkAdapterConfiguration類EnableDHCP方法在網絡適配器上啓用DHCP服務。我正在使用XP Embedded SP2,但它也發生在我的桌面(XP SP3)上。WMI EnableDHCP在斷開連接的適配器上失敗

除非拔下網線,否則一切都很好。

如果電纜斷開,EnableDHCP返回94(路徑,文件或對象未找到),並且當我查看網絡控制面板屬性時,它將設置爲手動配置,地址爲0.0.0.0,掩碼爲255.0.0.0 。

奇怪的是,處於此狀態時,EnableStatic第一次失敗,代碼爲94或81(無法配置DHCP服務),但第二次運行。

即使拔下電纜,啓用DHCP仍能正常使用netsh或windows GUI。

任何人都知道如何解決這個問題?

回答

6

看來至少一個其他人感興趣,所以這裏是我的發現:

至於我可以告訴它的WMI中的錯誤。爲了解決它,似乎工作的是直接爲適配器設置適當的註冊表值。這些被存儲在註冊表下

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

的GUID包含在由GetAdaptersInfo填充在IP_ADAPTER_INFO結構。

設置EnableDHCP時DWORD值設置爲1

我還發現有用清除使用WMI SetGateways否則舊的網關(S)流連的網關。

我還發現,當EnableStatic說失敗時,它實際上工作。

這個東西只有在網絡斷開時纔有意義。

+0

你能告訴我我是多麼興奮地「爲適配器設置適當的註冊表值,它們存儲在註冊表中....」 – 2013-11-18 21:00:48