c#-4.0 - 修改网络适配器属性时如何保证独占访问

标签 c#-4.0 concurrency wmi

我正在使用 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/

相关文章:

Powershell 和 HP 标准 TCP/IP 打印机端口

xml - 将 XML 转换为 C# 对象

c# - 如何使用响应式扩展等待 IObservable<T> 完成而不阻塞 UI?

python - 如何在 python 中编写嵌套并发代码?

concurrency - Java 11 HttpClient Http2流太多错误

c# - toolkitscriptmanager 中的 EnableCDN 不下载缩小的文件

.net - oracle中复杂的select语句

multithreading - 不允许使用可变线程本地数据的别名

c++ - 主板 ID - WMI C++ - 可靠吗?