WMI调用方法

我正在尝试使用WMI更改英特尔networking适配器设置。 访问类工作正常,但根据英特尔文档页40我需要调用两种方法,以应用这些更改。

所以IANet_NetService类应该有BeginApply和Apply方法。 当我使用PowerShell命令检查这个命令get-wmiobject -namespace root\intelncs2 -class IAnet_NetService | get-member get-wmiobject -namespace root\intelncs2 -class IAnet_NetService | get-member我可以确认这些方法是存在的。

英特尔文档说我应该枚举IANet_NetService中的单个实例。

所以当我使用CreateInstanceEnum方法时,它会在枚举中给我一个结果,但是当我尝试枚举这个实例的方法时,它不会find任何结果。

后来我尝试使用没有结果的CreateClassEnum

最后,我尝试了一个简单的GetObject调用来获取IANet_NetService项目。 有了这个项目,我也能够枚举方法并findBeginApply和Apply方法。

也可以调用GetMethod来接收签名信息。 对于BeginApply方法,根据Intel文档,它没有input参数是正确的。 所以我尝试使用pService->ExecMethod(L"IAnet_NetService", L"BeginApply", 0, 0, 0, &pOutInst, 0);执行此方法pService->ExecMethod(L"IAnet_NetService", L"BeginApply", 0, 0, 0, &pOutInst, 0); 它返回WBEM_E_INVALID_METHOD_PARAMETERS 。 MSDN说这可能会返回时,input参数是错误的,或者我缺less一个[静态]限定符的方法。

input参数是正确的,但我不知道在这种情况下缺less[静态]限定符的含义。

任何人都知道如何调用这个方法?

问题是,我需要使用GetObject/GetMethod组合来检索输入参数,并在此之后获得对象的唯一实例并请求它的路径。 这个路径取代了ExecMethod调用中的L"IAnet_NetService" ,它正在工作。