diff --git a/reactos/dll/win32/version/version.c b/reactos/dll/win32/version/version.c index 2189445112d..e1295a03e6b 100644 --- a/reactos/dll/win32/version/version.c +++ b/reactos/dll/win32/version/version.c @@ -606,12 +606,35 @@ typedef struct * GetFileVersionInfoSizeW [VERSION.@] */ DWORD WINAPI GetFileVersionInfoSizeW( LPCWSTR filename, LPDWORD handle ) +{ + return GetFileVersionInfoSizeExW( 0, filename, handle ); +} + +/*********************************************************************** + * GetFileVersionInfoSizeA [VERSION.@] + */ +DWORD WINAPI GetFileVersionInfoSizeA( LPCSTR filename, LPDWORD handle ) +{ + return GetFileVersionInfoSizeExA( 0, filename, handle ); +} + +/****************************************************************************** + * GetFileVersionInfoSizeExW [VERSION.@] + */ +DWORD WINAPI GetFileVersionInfoSizeExW( DWORD flags, LPCWSTR filename, LPDWORD handle ) { DWORD len, offset, magic = 1; HFILE lzfd; HMODULE hModule; OFSTRUCT ofs; + if (flags) + { + FIXME("stub: %x %s %p\n", flags, wine_dbgstr_w(filename), handle); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return 0; + } + TRACE("(%s,%p)\n", debugstr_w(filename), handle ); if (handle) *handle = 0; @@ -636,7 +659,7 @@ DWORD WINAPI GetFileVersionInfoSizeW( LPCWSTR filename, LPDWORD handle ) if ((magic == 1) && (hModule = LoadLibraryExW( filename, 0, LOAD_LIBRARY_AS_DATAFILE ))) { HRSRC hRsrc = FindResourceW( hModule, MAKEINTRESOURCEW(VS_VERSION_INFO), - MAKEINTRESOURCEW(VS_FILE_INFO) ); + (LPWSTR)VS_FILE_INFO ); if (hRsrc) { magic = IMAGE_NT_SIGNATURE; @@ -676,10 +699,10 @@ DWORD WINAPI GetFileVersionInfoSizeW( LPCWSTR filename, LPDWORD handle ) } } -/*********************************************************************** - * GetFileVersionInfoSizeA [VERSION.@] +/****************************************************************************** + * GetFileVersionInfoSizeExA [VERSION.@] */ -DWORD WINAPI GetFileVersionInfoSizeA( LPCSTR filename, LPDWORD handle ) +DWORD WINAPI GetFileVersionInfoSizeExA( DWORD flags, LPCSTR filename, LPDWORD handle ) { UNICODE_STRING filenameW; DWORD retval; @@ -691,7 +714,7 @@ DWORD WINAPI GetFileVersionInfoSizeA( LPCSTR filename, LPDWORD handle ) else filenameW.Buffer = NULL; - retval = GetFileVersionInfoSizeW(filenameW.Buffer, handle); + retval = GetFileVersionInfoSizeExW(0, filenameW.Buffer, handle); RtlFreeUnicodeString(&filenameW); @@ -699,10 +722,9 @@ DWORD WINAPI GetFileVersionInfoSizeA( LPCSTR filename, LPDWORD handle ) } /*********************************************************************** - * GetFileVersionInfoW [VERSION.@] + * GetFileVersionInfoExW [VERSION.@] */ -BOOL WINAPI GetFileVersionInfoW( LPCWSTR filename, DWORD handle, - DWORD datasize, LPVOID data ) +BOOL WINAPI GetFileVersionInfoExW( DWORD flags, LPCWSTR filename, DWORD handle, DWORD datasize, LPVOID data ) { static const char signature[4] = "FE2X"; DWORD len, offset, magic = 1; @@ -711,6 +733,13 @@ BOOL WINAPI GetFileVersionInfoW( LPCWSTR filename, DWORD handle, HMODULE hModule; VS_VERSION_INFO_STRUCT32* vvis = data; + if (flags) + { + FIXME("stub: %x %s %u %u %p\n", flags, wine_dbgstr_w(filename), handle, datasize, data); + SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + return 0; + } + TRACE("(%s,%d,size=%d,data=%p)\n", debugstr_w(filename), handle, datasize, data ); @@ -733,7 +762,7 @@ BOOL WINAPI GetFileVersionInfoW( LPCWSTR filename, DWORD handle, if ((magic == 1) && (hModule = LoadLibraryExW( filename, 0, LOAD_LIBRARY_AS_DATAFILE ))) { HRSRC hRsrc = FindResourceW( hModule, MAKEINTRESOURCEW(VS_VERSION_INFO), - MAKEINTRESOURCEW(VS_FILE_INFO) ); + (LPWSTR)VS_FILE_INFO ); if (hRsrc) { HGLOBAL hMem = LoadResource( hModule, hRsrc ); @@ -774,10 +803,9 @@ BOOL WINAPI GetFileVersionInfoW( LPCWSTR filename, DWORD handle, } /*********************************************************************** - * GetFileVersionInfoA [VERSION.@] + * GetFileVersionInfoExA [VERSION.@] */ -BOOL WINAPI GetFileVersionInfoA( LPCSTR filename, DWORD handle, - DWORD datasize, LPVOID data ) +BOOL WINAPI GetFileVersionInfoExA( DWORD flags, LPCSTR filename, DWORD handle, DWORD datasize, LPVOID data ) { UNICODE_STRING filenameW; BOOL retval; @@ -790,13 +818,29 @@ BOOL WINAPI GetFileVersionInfoA( LPCSTR filename, DWORD handle, else filenameW.Buffer = NULL; - retval = GetFileVersionInfoW(filenameW.Buffer, handle, datasize, data); + retval = GetFileVersionInfoExW(flags, filenameW.Buffer, handle, datasize, data); RtlFreeUnicodeString(&filenameW); return retval; } +/*********************************************************************** + * GetFileVersionInfoW [VERSION.@] + */ +BOOL WINAPI GetFileVersionInfoW( LPCWSTR filename, DWORD handle, DWORD datasize, LPVOID data ) +{ + return GetFileVersionInfoExW(0, filename, handle, datasize, data); +} + +/*********************************************************************** + * GetFileVersionInfoA [VERSION.@] + */ +BOOL WINAPI GetFileVersionInfoA( LPCSTR filename, DWORD handle, DWORD datasize, LPVOID data ) +{ + return GetFileVersionInfoExA(0, filename, handle, datasize, data); +} + /*********************************************************************** * VersionInfo16_FindChild [internal] */ @@ -1613,40 +1657,3 @@ DWORD WINAPI VerInstallFileW( HeapFree( GetProcessHeap(), 0, wcurd ); return ret; } - -/****************************************************************************** - * GetFileVersionInfoSizeExA [VERSION.@] - */ -DWORD WINAPI GetFileVersionInfoSizeExA(DWORD flags, LPCSTR filename, LPDWORD handle) -{ - FIXME("semi-stub: %u %s %p\n", flags, wine_dbgstr_a(filename), handle); - return GetFileVersionInfoSizeA(filename, handle); - -} - -/****************************************************************************** - * GetFileVersionInfoSizeExW [VERSION.@] - */ -DWORD WINAPI GetFileVersionInfoSizeExW(DWORD flags, LPCWSTR filename, LPDWORD handle) -{ - FIXME("semi-stub: %u %s %p\n", flags, wine_dbgstr_w(filename), handle); - return GetFileVersionInfoSizeW(filename, handle); -} - -/****************************************************************************** - * GetFileVersionInfoExA [VERSION.@] - */ -BOOL WINAPI GetFileVersionInfoExA(DWORD flags, LPCSTR filename, DWORD handle, DWORD len, LPVOID data) -{ - FIXME("semi-stub: %u %s %u %u %p\n", flags, wine_dbgstr_a(filename), handle, len, data); - return GetFileVersionInfoA(filename, handle, len, data); -} - -/****************************************************************************** - * GetFileVersionInfoExW [VERSION.@] - */ -BOOL WINAPI GetFileVersionInfoExW(DWORD flags, LPCWSTR filename, DWORD handle, DWORD len, LPVOID data) -{ - FIXME("semi-stub: %u %s %u %u %p\n", flags, wine_dbgstr_w(filename), handle, len, data); - return GetFileVersionInfoW(filename, handle, len, data); -} diff --git a/reactos/media/doc/README.WINE b/reactos/media/doc/README.WINE index f01706b50f2..1f50e57887c 100644 --- a/reactos/media/doc/README.WINE +++ b/reactos/media/doc/README.WINE @@ -199,7 +199,7 @@ reactos/dll/win32/urlmon # Synced to WineStaging-1.7.47 reactos/dll/win32/usp10 # Synced to WineStaging-1.7.47 reactos/dll/win32/uxtheme # Forked reactos/dll/win32/vbscript # Synced to WineStaging-1.7.47 -reactos/dll/win32/version # Synced to WineStaging-1.7.37 +reactos/dll/win32/version # Synced to WineStaging-1.7.47 reactos/dll/win32/wbemdisp # Synced to WineStaging-1.7.37 reactos/dll/win32/wbemprox # Synced to WineStaging-1.7.37 reactos/dll/win32/windowscodecs # Synced to WineStaging-1.7.37