Информация материнской платы с WMI, используя mingw

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;

Кто-нибудь может мне помочь?

  • 0
    Объявите переменную типа GUID именем CLSID_WbemLocator и инициализируйте ее с правильным значением.
  • 0
    Спасибо капитану Obvlious :). Но как мне получить правильное значение? Посмотри в wbemidl.h? А также, что я должен делать с ком указателями? IWbemLocator, IWbemServices и т. Д.
Теги:
wmi
mingw
motherboard

1 ответ

1

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

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

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

Ещё вопросы

Сообщество Overcoder
Наверх
Меню