wine-staging/patches/kernel32-SetFileCompletionNotificationMode/0001-kernel32-Implement-SetFileCompletionNotificationMode.patch

77 lines
3.5 KiB
Diff

From a36a4386b6dc0356b0d5d0bf616068a282c66ac9 Mon Sep 17 00:00:00 2001
From: "Olivier F. R. Dierick" <o.dierick@piezo-forte.be>
Date: Thu, 30 Apr 2015 22:58:37 +0200
Subject: kernel32: Implement SetFileCompletionNotificationModes as a stub.
---
.../api-ms-win-core-kernel32-legacy-l1-1-0.spec | 2 +-
dlls/kernel32/file.c | 12 ++++++++++++
dlls/kernel32/kernel32.spec | 2 +-
include/winbase.h | 1 +
4 files changed, 15 insertions(+), 2 deletions(-)
diff --git a/dlls/api-ms-win-core-kernel32-legacy-l1-1-0/api-ms-win-core-kernel32-legacy-l1-1-0.spec b/dlls/api-ms-win-core-kernel32-legacy-l1-1-0/api-ms-win-core-kernel32-legacy-l1-1-0.spec
index f4b9050..7c196c9 100644
--- a/dlls/api-ms-win-core-kernel32-legacy-l1-1-0/api-ms-win-core-kernel32-legacy-l1-1-0.spec
+++ b/dlls/api-ms-win-core-kernel32-legacy-l1-1-0/api-ms-win-core-kernel32-legacy-l1-1-0.spec
@@ -45,7 +45,7 @@
@ stub RaiseFailFastException
@ stdcall RegisterWaitForSingleObject(ptr long ptr ptr long long) kernel32.RegisterWaitForSingleObject
@ stdcall SetConsoleTitleA(str) kernel32.SetConsoleTitleA
-@ stub SetFileCompletionNotificationModes
+@ stdcall SetFileCompletionNotificationModes(long long) kernel32.SetFileCompletionNotificationModes
@ stdcall SetHandleCount(long) kernel32.SetHandleCount
@ stdcall SetMailslotInfo(long long) kernel32.SetMailslotInfo
@ stdcall SetVolumeLabelW(wstr wstr) kernel32.SetVolumeLabelW
diff --git a/dlls/kernel32/file.c b/dlls/kernel32/file.c
index 006db1c..4695c9c 100644
--- a/dlls/kernel32/file.c
+++ b/dlls/kernel32/file.c
@@ -1037,6 +1037,18 @@ BOOL WINAPI SetEndOfFile( HANDLE hFile )
return FALSE;
}
+
+/**************************************************************************
+ * SetFileCompletionNotificationModes (KERNEL32.@)
+ */
+BOOL WINAPI SetFileCompletionNotificationModes( HANDLE file, UCHAR flags )
+{
+ FIXME("%p %x - stub\n", file, flags);
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return FALSE;
+}
+
+
BOOL WINAPI SetFileInformationByHandle( HANDLE file, FILE_INFO_BY_HANDLE_CLASS class, VOID *info, DWORD size )
{
FIXME("%p %u %p %u - stub\n", file, class, info, size);
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index 1261738..cece08e 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -1392,7 +1392,7 @@
# @ stub SetFileAttributesTransactedW
@ stdcall SetFileAttributesW(wstr long)
# @ stub SetFileBandwidthReservation
-# @ stub SetFileCompletionNotificationModes
+@ stdcall SetFileCompletionNotificationModes(long long)
@ stdcall SetFileInformationByHandle(long long ptr long)
# @ stub SetFileIoOverlappedRange
@ stdcall SetFilePointer(long long ptr long)
diff --git a/include/winbase.h b/include/winbase.h
index a8f3fb6..6fba12d 100644
--- a/include/winbase.h
+++ b/include/winbase.h
@@ -2377,6 +2377,7 @@ WINBASEAPI VOID WINAPI SetFileApisToOEM(void);
WINBASEAPI BOOL WINAPI SetFileAttributesA(LPCSTR,DWORD);
WINBASEAPI BOOL WINAPI SetFileAttributesW(LPCWSTR,DWORD);
#define SetFileAttributes WINELIB_NAME_AW(SetFileAttributes)
+WINBASEAPI BOOL WINAPI SetFileCompletionNotificationModes(HANDLE,UCHAR);
WINBASEAPI DWORD WINAPI SetFilePointer(HANDLE,LONG,LPLONG,DWORD);
WINBASEAPI BOOL WINAPI SetFilePointerEx(HANDLE,LARGE_INTEGER,LARGE_INTEGER*,DWORD);
WINADVAPI BOOL WINAPI SetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
--
2.4.0