我正在使用 WMI 的 Win32_NetworkAdapterConfiguration 类、EnableStatic 方法来设置环回网络适配器的静态 IP 以进行测试。我注意到当有可见的属性表时,操作系统会锁定。当用户关闭包含更改的工作表时,事情会卡住,直到更新完成。
如何确保 C# 程序和 Windows UI 程序之间的独占访问?
最佳答案
我认为 Win32_NetworkAdapterConfiguration
类的 EnableStatic
方法已经获取了独占锁来更改网络适配器设置。一篇微软知识库文章让我得出了这个结论 Microsoft KB .
还有一个名为 INetCfgLock
的 COM 接口(interface),您可以使用它来获取独占锁以更改网络适配器设置。要获取锁,请使用 INetCfgLock::AcquireWriteLock
方法。
开始编辑:
这里是关于 codeproject 项目的链接其中显示了 INetCfgLock
COM 接口(interface)和 C# 中的 INetCfgLock::AcquireWriteLock
的使用。
结束编辑
希望这对您有所帮助。
关于c#-4.0 - 修改网络适配器属性时如何保证独占访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7682857/