我使用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;
任何人都可以帮助我?
答案 0 :(得分:1)
我从注册表中获得了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提供这些库。