Информация MotherBoard с WMI, используя mingw

Я использую 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

Решение

Я получил CLSID_WbemLocator из реестра и нашел его в разделе WBEMComLocator. Поскольку мое приложение написано на C, я инициализировал структуру GUID так:

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

После этого я смог запустить пример, приведенный в Как получить данные из WMI, используя приложение C? Я думаю, что вы должны использовать библиотеки, которые вы упомянули. Почему бы и нет? MinGW предоставляет эти библиотеки.

1

Другие решения


По вопросам рекламы [email protected]