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

发布于 2024-12-08 09:16:48 字数 196 浏览 1 评论 0原文

我正在使用 WMI 的 Win32_NetworkAdapterConfiguration 类的 EnableStatic 方法来设置 Loopback 网络适配器的静态 IP 以进行测试。我注意到,当存在可见的属性表时,操作系统会解锁。当用户关闭包含更改的工作表时,事情会冻结,直到更新完成。

如何确保我的 C# 程序和 Windows UI 之间的独占访问?

I am using WMI's Win32_NetworkAdapterConfiguration class, EnableStatic method to set static IPs of a Loopback network adapter for testing. I noticed that the OS takes out a lock when there's a visible property sheet. When user dismisses the sheet with changes, things freeze up until the update has completed.

How can I ensure exclusive access between my program in C# and Windows UI?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

π浅易 2024-12-15 09:16:48

我认为 Win32_NetworkAdapterConfiguration 类的 EnableStatic 方法已经获取了独占锁来更改网络适配器设置。一篇 Microsoft 知识库文章让我得出了这个结论 Microsoft 知识库
还有一个名为 INetCfgLock 的 COM 接口,您可以使用它来获取用于更改网络适配器设置的独占锁。要获取锁,请使用 INetCfgLock::AcquireWriteLock 方法。

开始编辑:

这是 codeproject 上的项目的链接,其中显示了 INetCfgLock COM 接口和 INetCfgLock::AcquireWriteLock 在 C# 中的使用。

结束编辑

希望,这有帮助。

I think the EnableStatic method of the Win32_NetworkAdapterConfiguration class already acquires an exclusive lock to change the network adapter settings. A microsoft knowledge base article lead me to this conclusion Microsoft KB.
There is also a COM interface called INetCfgLock you could use to acquire an exclusive lock for changing network adapter settings. To acquire the lock use the INetCfgLock::AcquireWriteLock method.

BEGIN EDIT:

Here is a link to the project on codeproject which shows the use of the INetCfgLock COM interface and the INetCfgLock::AcquireWriteLock in C#.

END EDIT

Hope, this helps.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文