Crashes were reported on the forum for WeChat here https://forum.winehq.org/viewtopic.php?t=39456 and in a bugreport (https://bugs.winehq.org/show_bug.cgi?id=51386). (As the application in that bugreport probably needs a real implementation I left out the "Wine-bug" message here)
-- v3: kernelbase: Add stub for FindFirstFileNameW.
From: Louis Lenders xerox.xerox2000x@gmail.com
Crashes were reported on the forum for WeChat here https://forum.winehq.org/viewtopic.php?t=39456 and in a bugreport (https://bugs.winehq.org/show_bug.cgi?id=51386). (As the application in that bugreport probably needs a real implementation I left out the "Wine-bug" message here)
Fixed a compiler warning --- dlls/kernel32/kernel32.spec | 2 +- dlls/kernelbase/file.c | 8 ++++++++ dlls/kernelbase/kernelbase.spec | 2 +- include/fileapi.h | 2 +- 4 files changed, 11 insertions(+), 3 deletions(-)
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index 7ed8048f5d0..fb86605dab7 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -491,7 +491,7 @@ @ stdcall -import FindFirstFileExA(str long ptr long ptr long) @ stdcall -import FindFirstFileExW(wstr long ptr long ptr long) # @ stub FindFirstFileNameTransactedW -# @ stub FindFirstFileNameW +@ stdcall -import FindFirstFileNameW(wstr long ptr ptr) @ stdcall FindFirstFileTransactedA(str long ptr long ptr long ptr) @ stdcall FindFirstFileTransactedW(wstr long ptr long ptr long ptr) @ stdcall -import FindFirstFileW(wstr ptr) diff --git a/dlls/kernelbase/file.c b/dlls/kernelbase/file.c index 1f13511fa7b..9957a04f907 100644 --- a/dlls/kernelbase/file.c +++ b/dlls/kernelbase/file.c @@ -1374,6 +1374,14 @@ HANDLE WINAPI DECLSPEC_HOTPATCH FindFirstFileW( const WCHAR *filename, WIN32_FIN return FindFirstFileExW( filename, FindExInfoStandard, data, FindExSearchNameMatch, NULL, 0 ); }
+/****************************************************************************** + * FindFirstFileNameW (kernelbase.@) + */ +HANDLE WINAPI FindFirstFileNameW ( const WCHAR *file_name, DWORD flags, DWORD *len, WCHAR *link_name ) +{ + FIXME( "(%s, %lu, %p, %p): stub!\n", debugstr_w(file_name), flags, len, link_name ); + return INVALID_HANDLE_VALUE; +}
/************************************************************************** * FindFirstStreamW (kernelbase.@) diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec index 4c1dd4af1da..e9b6e7306d5 100644 --- a/dlls/kernelbase/kernelbase.spec +++ b/dlls/kernelbase/kernelbase.spec @@ -363,7 +363,7 @@ @ stdcall FindFirstFileA(str ptr) @ stdcall FindFirstFileExA(str long ptr long ptr long) @ stdcall FindFirstFileExW(wstr long ptr long ptr long) -# @ stub FindFirstFileNameW +@ stdcall FindFirstFileNameW(wstr long ptr ptr) @ stdcall FindFirstFileW(wstr ptr) @ stdcall FindFirstFreeAce(ptr ptr) @ stdcall FindFirstStreamW(wstr long ptr long) diff --git a/include/fileapi.h b/include/fileapi.h index 2080fbbac21..04bbfea60c2 100644 --- a/include/fileapi.h +++ b/include/fileapi.h @@ -33,7 +33,7 @@ typedef struct _CREATEFILE2_EXTENDED_PARAMETERS { } CREATEFILE2_EXTENDED_PARAMETERS, *PCREATEFILE2_EXTENDED_PARAMETERS, *LPCREATEFILE2_EXTENDED_PARAMETERS;
WINBASEAPI HANDLE WINAPI CreateFile2(LPCWSTR,DWORD,DWORD,DWORD,LPCREATEFILE2_EXTENDED_PARAMETERS); - +WINBASEAPI HANDLE WINAPI FindFirstFileNameW(const WCHAR*,DWORD,DWORD*,WCHAR*); WINBASEAPI DWORD WINAPI GetTempPath2A(DWORD,LPSTR); WINBASEAPI DWORD WINAPI GetTempPath2W(DWORD,LPWSTR);
Hi,
It looks like your patch introduced the new failures shown below. Please investigate and fix them before resubmitting your patch. If they are not new, fixing them anyway would help a lot. Otherwise please ask for the known failures list to be updated.
The tests also ran into some preexisting test failures. If you know how to fix them that would be helpful. See the TestBot job for the details:
The full results can be found at: https://testbot.winehq.org/JobDetails.pl?Key=148796
Your paranoid android.
=== debian11b (64 bit WoW report) ===
d3d9: d3d9ex.c:3230: Test failed: Expected message 0x18 for window 0, but didn't receive it, i=0.
mf: mf.c:5383: Test failed: got hr 0x800c0008
msxml3: httpreq.c:1594: Test failed: Unexpected hr 0x800c0008.
urlmon: url.c:1845: Test failed: binding failed: 800c0008, expected 00000000 url.c:3186: Test failed: IMoniker_BindToStorage failed: 800c0008 url.c:3187: Test failed: unk == NULL url.c:3252: Test failed: expected OnProgress_FINDINGRESOURCE
Report validation errors: msxml3:httpreq crashed (c0000005)
Jinoh Kang (@iamahuman) commented about dlls/kernelbase/file.c:
return FindFirstFileExW( filename, FindExInfoStandard, data, FindExSearchNameMatch, NULL, 0 );
}
+/******************************************************************************
FindFirstFileNameW (kernelbase.@)
- */
+HANDLE WINAPI FindFirstFileNameW ( const WCHAR *file_name, DWORD flags, DWORD *len, WCHAR *link_name ) +{
- FIXME( "(%s, %lu, %p, %p): stub!\n", debugstr_w(file_name), flags, len, link_name );
- return INVALID_HANDLE_VALUE;
Failing stubs should set last error whenever applicable. (See GetSystemFileCacheSize for an example.)
```suggestion:-0+0 SetLastError( ERROR_CALL_NOT_IMPLEMENTED ); return INVALID_HANDLE_VALUE; ```