MCPcopy Create free account
hub / github.com/BeneficialCode/WinArk / GetCompanyName

Method GetCompanyName

WinArk/KernelModuleTable.cpp:155–173  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

153}
154
155std::wstring CKernelModuleTable::GetCompanyName(std::wstring path) {
156 BYTE buffer[1 << 12];
157 WCHAR* companyName = nullptr;
158 CString filePath = path.c_str();
159 if (filePath.Mid(1, 2) == "??")
160 filePath = filePath.Mid(4);
161 if (::GetFileVersionInfo(filePath, 0, sizeof(buffer), buffer)) {
162 WORD* langAndCodePage;
163 UINT len;
164 if (::VerQueryValue(buffer, L"\\VarFileInfo\\Translation", (void**)&langAndCodePage, &len)) {
165 CString text;
166 text.Format(L"\\StringFileInfo\\%04x%04x\\CompanyName", langAndCodePage[0], langAndCodePage[1]);
167
168 if (::VerQueryValue(buffer, text, (void**)&companyName, &len))
169 return companyName;
170 }
171 }
172 return L"";
173}
174
175LRESULT CKernelModuleTable::OnRefresh(WORD /*wNotifyCode*/, WORD /*wID*/, HWND /*hWndCtl*/, BOOL& /*bHandled*/) {
176 DoRefresh();

Callers 2

ParseTableEntryMethod · 0.45
CompareItemsMethod · 0.45

Calls

no outgoing calls

Tested by

no test coverage detected