void CHardwareMonitor::FetchData() { #ifdef WIN32 if (IsOHMRunning()) { _log.Log(LOG_NORM,"Hardware Monitor: Fetching data (System sensors)"); RunWMIQuery("Sensor","Temperature"); RunWMIQuery("Sensor","Load"); RunWMIQuery("Sensor","Fan"); RunWMIQuery("Sensor","Voltage"); return; } #elif defined(__linux__) || defined(__CYGWIN32__) _log.Log(LOG_NORM,"Hardware Monitor: Fetching data (System sensors)"); FetchUnixData(); if (bHasInternalTemperature) { GetInternalTemperature(); } if (bHasInternalVoltage) { GetInternalVoltage(); } if (bHasInternalCurrent) { GetInternalCurrent(); } #endif }
bool CHardwareMonitor::InitWMI() { HRESULT hr; if (m_pLocator) return true; //already initialized hr = CoCreateInstance(CLSID_WbemAdministrativeLocator, NULL, CLSCTX_INPROC_SERVER, IID_IWbemLocator, (LPVOID*)&m_pLocator); if (FAILED(hr)) return false; hr = m_pLocator->ConnectServer(L"root\\OpenHardwareMonitor",NULL, NULL, NULL, 0, NULL, NULL, &m_pServicesOHM); if (FAILED(hr)) { _log.Log(LOG_STATUS, "Hardware Monitor: Warning, OpenHardware Monitor is not installed on this system. (http://openhardwaremonitor.org)"); return false; } hr = m_pLocator->ConnectServer(L"root\\CIMV2", NULL, NULL, NULL, 0, NULL, NULL, &m_pServicesSystem); if (FAILED(hr)) return false; /* // Set security levels on the proxy hr = CoSetProxyBlanket( m_pServicesSystem, // Indicates the proxy to set RPC_C_AUTHN_WINNT, // RPC_C_AUTHN_xxx RPC_C_AUTHZ_NONE, // RPC_C_AUTHZ_xxx NULL, // Server principal name RPC_C_AUTHN_LEVEL_CALL, // RPC_C_AUTHN_LEVEL_xxx RPC_C_IMP_LEVEL_IMPERSONATE, // RPC_C_IMP_LEVEL_xxx NULL, // client identity EOAC_NONE // proxy capabilities ); */ if (!IsOHMRunning()) { _log.Log(LOG_STATUS, "Hardware Monitor: Warning, OpenHardware Monitor is not installed on this system. (http://openhardwaremonitor.org)"); return false; } return true; }
bool CHardwareMonitor::InitWMI() { HRESULT hr; if (m_pLocator) return true; //already initialized hr = CoCreateInstance(CLSID_WbemAdministrativeLocator, NULL, CLSCTX_INPROC_SERVER, IID_IWbemLocator, (LPVOID*)&m_pLocator); if (FAILED(hr)) return false; hr = m_pLocator->ConnectServer(L"root\\OpenHardwareMonitor",NULL, NULL, NULL, 0, NULL, NULL, &m_pServicesOHM); if (FAILED(hr)) { _log.Log(LOG_STATUS, "Hardware Monitor: Warning, OpenHardware Monitor is not installed on this system. (http://openhardwaremonitor.org)"); return false; } hr = m_pLocator->ConnectServer(L"root\\CIMV2", NULL, NULL, NULL, 0, NULL, NULL, &m_pServicesSystem); if (FAILED(hr)) return false; if (!IsOHMRunning()) { _log.Log(LOG_STATUS, "Hardware Monitor: Warning, OpenHardware Monitor is not installed on this system. (http://openhardwaremonitor.org)"); return false; } return true; }