如何在C++中为特定适配器调用 Win32_NetworkAdapterConfiguration::EnableDHC

How to call Win32_NetworkAdapterConfiguration::EnableDHCP() for a specific adapter in C++?

本文关键字:Win32 调用 NetworkAdapterConfiguration EnableDHC 适配器 C++      更新时间:2023-10-16

我的任务之一是为 DHCP/静态 IP 配置网络适配器,我发现这样做的唯一方法是使用Win32_NetworkAdapterConfiguration类。

WMI对我来说是新的,它似乎在C++(Qt/MinGW)中使用它并不容易,我在WWW中找到的大多数东西都涉及.NET,PowerShell或VBScript。但是,我已经成功地查询了信息,例如特定适配器的 MAC 地址。

我已经阅读了 MSDN:在 MSDN 上调用提供程序方法,但是在寻找要WIn32_NetworkAdapterConfiguration的软件时,有一件事我不会忘记。

我的 IEnumWbemClassObject 是SELECT * FROM Win32_NetworkAdapterConfiguration WHERE InterfaceIndex=n的结果(n 当然是一个数字),并返回特定适配器的IWbemClassObject

如何告诉 ExecMethod 在调用 EnableDHCP()/EnableStatic() 方法时使用哪个Win32_NetworkAdapterConiguration实例(在枚举查询结果时将收到的IWbemClassObject的含义)?

在寻找将

字符串数组传递给 ExecMethod() 的示例时,如果在 CodeProject 中找到了非常适合我的任务的线程。如上面的注释所述,对象实例的路径(不是类路径!)必须传递给 ExecMethod 的 "strObjectPath" 参数。