0

我正在使用 mingw 作为编译器,我试图让 wmi 以某种方式工作,但代码取决于

wbemidl.h
Wbemuuid.lib

我怎样才能避免使用这个库?例如

hr = CoCreateInstance(&CLSID_WbemLocator, 0, CLSCTX_INPROC_SERVER, &IID_IWbemLocator, (LPVOID *) &locator);

我怎样才能自己获得 CLSID_WbemLocator 和 IID_IWbemLocator?我还需要以某种方式定义自己指向 COM 接口的指针。

  IWbemLocator         *locator  = NULL;
  IWbemServices        *services = NULL;
  IEnumWbemClassObject *results  = NULL;

任何人都可以帮助我吗?

4

1 回答 1

1

我从注册表中获得了 CLSID_WbemLocator,在 WBEMComLocator 下找到了它。由于我的应用程序是用 CI 编写的,因此初始化了 GUID 结构:

CLSID CLSID_WbemLocator = {0x4590F811, 0x1D3A, 0x11D0, {0x89, 0x1F, 0, 0xAA, 0, 0x4B, 0x2E, 0x24}};

解决了这个问题后,我可以运行如何使用 C 应用程序从 WMI 获取数据?我认为您必须使用您提到的库。为什么不?MinGW 提供了这些库。

于 2015-02-13T21:57:19.060 回答