MCPcopy Create free account
hub / github.com/bruderstein/nppPluginManager / getFileVersion

Method getFileVersion

pluginManager/src/Utility.cpp:158–199  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

156
157
158PluginVersion* Utility::getFileVersion(const TCHAR* path)
159{
160 DWORD handle;
161 DWORD bufferSize = ::GetFileVersionInfoSize(path, &handle);
162 PluginVersion *version;
163
164 if (bufferSize <= 0)
165 return new PluginVersion();
166
167 unsigned char* buffer = new unsigned char[bufferSize];
168 ::GetFileVersionInfo(path, handle, bufferSize, buffer);
169
170 /*struct LANGANDCODEPAGE {
171 WORD wLanguage;
172 WORD wCodePage;
173 } *lpTranslate;*/
174
175 VS_FIXEDFILEINFO* lpFileInfo;
176
177 UINT cbFileInfo;
178
179 VerQueryValue(buffer,
180 _T("\\"),
181 (LPVOID*)&lpFileInfo,
182 &cbFileInfo);
183
184 if (cbFileInfo)
185 {
186 version = new PluginVersion((lpFileInfo->dwFileVersionMS & 0xFFFF0000) >> 16,
187 lpFileInfo->dwFileVersionMS & 0x0000FFFF,
188 (lpFileInfo->dwFileVersionLS & 0xFFFF0000) >> 16,
189 lpFileInfo->dwFileVersionLS & 0x0000FFFF);
190 }
191 else
192 {
193 version = new PluginVersion();
194 }
195
196 delete [] buffer;
197
198 return version;
199}

Callers

nothing calls this directly

Calls

no outgoing calls

Tested by

no test coverage detected