我正在使用 mingw 作为编译器,我试图让 wmi 以某种方式工作,但代码取决于
wbemidl.h
Wbemuuid.lib
我怎样才能避免使用这个库?例如
hr = CoCreateInstance(&CLSID_WbemLocator, 0, CLSCTX_INPROC_SERVER, &IID_IWbemLocator, (LPVOID *) &locator);
我如何自己获取 CLSID_WbemLocator 和 IID_IWbemLocator?我还需要以某种方式为自己定义指向 COM 接口(interface)的指针。
IWbemLocator *locator = NULL;
IWbemServices *services = NULL;
IEnumWbemClassObject *results = NULL;
谁能帮帮我?
最佳答案
我从注册表中找到了 CLSID_WbemLocator,它位于 WBEMComLocator 下。由于我的应用程序是用 C 编写的,因此我初始化了 GUID 结构:
CLSID CLSID_WbemLocator = {0x4590F811, 0x1D3A, 0x11D0, {0x89, 0x1F, 0, 0xAA, 0, 0x4B, 0x2E, 0x24}};
解决了这个问题后,我可以运行 How to obtain data from WMI using a C Application? 下给出的示例我认为您必须使用您提到的库。为什么不? MinGW 提供了这些库。
关于c++ - 带有WMI的主板信息,使用mingw,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24174508/