我正在使用WMI的Win32_NetworkAdapterConfiguration类,EnableStatic方法来设置回送网络适配器的静态IP进行测试。我注意到,当有可见的属性表时,操作系统会取消锁定。当用户使用更改撤消工作表时,事情会冻结直到更新完成。
如何确保C#程序和Windows UI之间的互斥访问?
最佳答案
我认为EnableStatic
类的Win32_NetworkAdapterConfiguration
方法已经获得了排他锁,以更改网络适配器设置。微软知识库文章使我得出Microsoft KB这个结论。
还有一个名为INetCfgLock
的COM接口(interface),可用于获取用于更改网络适配器设置的排他锁。要获取锁,请使用INetCfgLock::AcquireWriteLock
方法。
开始编辑:
这是codeproject上项目的链接,其中显示了INetCfgLock
COM接口(interface)和C#中INetCfgLock::AcquireWriteLock
的用法。
结束编辑
希望这可以帮助。