GetFileVersionInfoW function (winver.h)
Retrieves version information for the specified file.
Syntax
BOOL GetFileVersionInfoW(
[in] LPCWSTR lptstrFilename,
DWORD dwHandle,
[in] DWORD dwLen,
[out] LPVOID lpData
);
Parameters
[in] lptstrFilename
Type: LPCTSTR
The name of the file. If a full path is not specified, the function uses the search sequence specified by the LoadLibrary function.
dwHandle
Type: DWORD
This parameter is ignored.
[in] dwLen
Type: DWORD
The size, in bytes, of the buffer pointed to by the lpData parameter.
Call the GetFileVersionInfoSize function first to determine the size, in bytes, of a file's version information. The dwLen member should be equal to or greater than that value.
If the buffer pointed to by lpData is not large enough, the function truncates the file's version information to the size of the buffer.
[out] lpData
Type: LPVOID
Pointer to a buffer that receives the file-version information.
You can use this value in a subsequent call to the VerQueryValue function to retrieve data from the buffer.
Return value
Type: BOOL
If the function succeeds, the return value is nonzero.
If the function fails, the return value is zero. To get extended error information, call GetLastError.
Remarks
File version info has fixed and non-fixed part. The fixed part contains information like version number. The non-fixed part contains things like strings. In the past GetFileVersionInfo was taking version information from the binary (exe/dll). Currently, it is querying fixed version from language neutral file (exe/dll) and the non-fixed part from mui file, merges them and returns to the user. If the given binary does not have a mui file then behavior is as in previous version.
Call the GetFileVersionInfoSize function before calling the GetFileVersionInfo function. To retrieve information from the file-version information buffer, use the VerQueryValue function.
Note
The winver.h header defines GetFileVersionInfo as an alias that automatically selects the ANSI or Unicode version of this function based on the definition of the UNICODE preprocessor constant. Mixing usage of the encoding-neutral alias with code that is not encoding-neutral can lead to mismatches that result in compilation or runtime errors. For more information, see Conventions for Function Prototypes.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps only] |
Minimum supported server | Windows 2000 Server [desktop apps only] |
Target Platform | Windows |
Header | winver.h (include Windows.h) |
Library | Version.lib |
DLL | Api-ms-win-core-version-l1-1-0.dll |
See also
Conceptual
Reference