| 145 | } |
| 146 | |
| 147 | bool GrSystemMonitor::GetFileVersion(const std::wstring& filePath, DWORD& major, DWORD& minor){ |
| 148 | DWORD dummy; |
| 149 | DWORD size = GetFileVersionInfoSizeW(filePath.c_str(), &dummy); |
| 150 | if (size == 0) { |
| 151 | return false; |
| 152 | } |
| 153 | |
| 154 | std::vector<BYTE> data(size); |
| 155 | if (!GetFileVersionInfoW(filePath.c_str(), 0, size, data.data())) { |
| 156 | return false; |
| 157 | } |
| 158 | |
| 159 | VS_FIXEDFILEINFO* fileInfo = nullptr; |
| 160 | UINT fileInfoSize; |
| 161 | if (!VerQueryValueW(data.data(), L"\\", reinterpret_cast<void**>(&fileInfo), &fileInfoSize)) { |
| 162 | return false; |
| 163 | } |
| 164 | |
| 165 | major = (fileInfo->dwFileVersionMS >> 16) & 0xffff; |
| 166 | minor = (fileInfo->dwFileVersionLS >> 16) & 0xffff; |
| 167 | return true; |
| 168 | } |
| 169 | |
| 170 | bool GrSystemMonitor::TryConnectViGEmDriver() { |
| 171 | // driver seems already exists, try to connect |
nothing calls this directly
no outgoing calls
no test coverage detected