Hi,
GetFileVersionInfoSizeA does not behave as described in my API documentation. It is supposed to set the second param (handle) to zero. Current wine implementation does not - it even sets a non zero value futher down sometimes. So i suggest to apply the following patch. (If setting handle to offset has some [undocumented] meaning the second part of the patch should be ommited.)
Thanks! Comments?
Bye, Florian
--- wine-20030219/dlls/version/info.c-old Wed Aug 14 23:04:54 2002 +++ wine-20030219/dlls/version/info.c Sun Mar 9 17:51:14 2003 @@ -438,6 +438,8 @@ DWORD WINAPI GetFileVersionInfoSizeA( LP
TRACE("(%s,%p)\n", debugstr_a(filename), handle );
+ if ( handle ) *handle = 0; + len = VERSION_GetFileVersionInfo_PE(filename, handle, 0, NULL); /* 0xFFFFFFFF means: file exists, but VERSION_INFO not found */ if(len == 0xFFFFFFFF) @@ -467,8 +469,6 @@ DWORD WINAPI GetFileVersionInfoSizeA( LP offset, sizeof( buf ), buf ); if (!ret) return 0;
- if ( handle ) *handle = offset; - if ( VersionInfoIs16( buf ) ) vffi = (VS_FIXEDFILEINFO *)VersionInfo16_Value( (VS_VERSION_INFO_STRUCT16 *)buf ); else