| 166 | |
| 167 | #ifdef _WIN32 |
| 168 | std::string get_driver_version(const std::string& device_name) { |
| 169 | std::string driver_version; |
| 170 | wmi::WMIConnection wmi; |
| 171 | if (!wmi.is_valid()) { |
| 172 | return ""; |
| 173 | } |
| 174 | |
| 175 | std::wstring query = L"SELECT * FROM Win32_PnPSignedDriver WHERE DeviceName LIKE '%" + |
| 176 | wmi::string_to_wstring(device_name) + L"%'"; |
| 177 | |
| 178 | wmi.query(query, [&driver_version](IWbemClassObject* pObj) { |
| 179 | if (driver_version.empty()) { // Only get first match |
| 180 | driver_version = wmi::get_property_string(pObj, L"DriverVersion"); |
| 181 | } |
| 182 | }); |
| 183 | |
| 184 | return driver_version; |
| 185 | } |
| 186 | |
| 187 | std::string identify_npu_arch() { |
| 188 | wmi::WMIConnection wmi_conn; |
no test coverage detected