[PATCH 2/2] kernel32: Stub FindFirstStreamW/FindNextStreamW

Fabian Maurer dark.shadow4 at web.de
Sat Mar 30 14:40:06 CDT 2019


Follow up to https://bugs.winehq.org/show_bug.cgi?id=46927

Signed-off-by: Fabian Maurer <dark.shadow4 at web.de>
---
 dlls/kernel32/file.c        | 25 +++++++++++++++++++++++++
 dlls/kernel32/kernel32.spec |  4 ++--
 include/winbase.h           |  6 ++++++
 3 files changed, 33 insertions(+), 2 deletions(-)

diff --git a/dlls/kernel32/file.c b/dlls/kernel32/file.c
index 3214d724cb..3d18e48096 100644
--- a/dlls/kernel32/file.c
+++ b/dlls/kernel32/file.c
@@ -2349,6 +2349,31 @@ BOOL WINAPI FindNextFileA( HANDLE handle, WIN32_FIND_DATAA *data )
 }


+/**************************************************************************
+ *           FindFirstStreamW   (KERNEL32.@)
+ */
+HANDLE WINAPI FindFirstStreamW(LPCWSTR lpFileName, STREAM_INFO_LEVELS infoLevel,
+    LPVOID lpFindStreamData, DWORD dwFlags)
+{
+    FIXME("(%s, %d, %p, %x): stub!\n", debugstr_w(lpFileName), infoLevel, lpFindStreamData, dwFlags);
+
+    SetLastError(ERROR_HANDLE_EOF);
+    return INVALID_HANDLE_VALUE;
+}
+
+
+/**************************************************************************
+ *           FindNextStreamW   (KERNEL32.@)
+ */
+BOOL WINAPI FindNextStreamW(HANDLE hFindStream, LPVOID lpFindStreamData)
+{
+    FIXME("(%p, %p): stub!\n", hFindStream, lpFindStreamData);
+
+    SetLastError(ERROR_HANDLE_EOF);
+    return FALSE;
+}
+
+
 /**************************************************************************
  *           GetFileAttributesW   (KERNEL32.@)
  */
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index 1cf7b58a02..ff0be6cf47 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -488,7 +488,7 @@
 # @ stub FindFirstFileTransactedW
 @ stdcall FindFirstFileW(wstr ptr)
 # @ stub FindFirstStreamTransactedW
-# @ stub FindFirstStreamW
+@ stub FindFirstStreamW(str long ptr long)
 @ stdcall FindFirstVolumeA(ptr long)
 @ stdcall FindFirstVolumeMountPointA(str ptr long)
 @ stdcall FindFirstVolumeMountPointW(wstr ptr long)
@@ -497,7 +497,7 @@
 @ stdcall FindNextFileA(long ptr)
 # @ stub FindNextFileNameW
 @ stdcall FindNextFileW(long ptr)
-# @ stub FindNextStreamW
+@ stdcall FindNextStreamW(long ptr)
 @ stdcall FindNextVolumeA(long ptr long)
 @ stub FindNextVolumeMountPointA
 @ stub FindNextVolumeMountPointW
diff --git a/include/winbase.h b/include/winbase.h
index 20c73af319..e5377d43f5 100644
--- a/include/winbase.h
+++ b/include/winbase.h
@@ -1717,6 +1717,12 @@ typedef struct _UMS_SCHEDULER_STARTUP_INFO
 typedef enum _RTL_UMS_SCHEDULER_REASON UMS_SCHEDULER_REASON;
 typedef enum _RTL_UMS_THREAD_INFO_CLASS UMS_THREAD_INFO_CLASS, *PUMS_THREAD_INFO_CLASS;

+typedef enum _STREAM_INFO_LEVELS
+{
+    FindStreamInfoStandard,
+    FindStreamInfoMaxInfoLevel
+} STREAM_INFO_LEVELS;
+
 WINBASEAPI BOOL        WINAPI ActivateActCtx(HANDLE,ULONG_PTR *);
 WINADVAPI  BOOL        WINAPI AddAccessAllowedAce(PACL,DWORD,DWORD,PSID);
 WINADVAPI  BOOL        WINAPI AddAccessAllowedAceEx(PACL,DWORD,DWORD,DWORD,PSID);
--
2.21.0




More information about the wine-devel mailing list