#pragma once #include #include #include #include #include #include #include #define WMI_WAIT_TIME 2000 /// Max time to wait for next object in when enumerating next object in wmi query in milliseconds #pragma comment(lib, "wbemuuid.lib") typedef std::map QueryObj; typedef std::map AdditionalFilters; typedef std::pair AdditionalFilter; // Wmi Base class class Wmi { public: Wmi(); ~Wmi(); // Initialises connection to WMI host HRESULT init(); HRESULT query(std::string queryStr, std::vector& queryVectorOut, const AdditionalFilters* filters = nullptr); private: static IWbemLocator *pLoc; static IWbemServices *pSvc; };