wine-staging/patches/kernel32-SetFileCompletionNotificationMode/0001-kernel32-Implement-SetFileCompletionNotificationMode.patch
2015-06-11 18:42:12 +02:00

75 lines
3.5 KiB
Diff

From f8bfaee1501abb1b24d80f2221c3b55ca4a3a628 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 | 10 ++++++++++
dlls/kernel32/kernel32.spec | 2 +-
include/winbase.h | 1 +
4 files changed, 13 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 bcb21c9..3e557aa 100644
--- a/dlls/kernel32/file.c
+++ b/dlls/kernel32/file.c
@@ -1041,6 +1041,16 @@ BOOL WINAPI SetEndOfFile( HANDLE hFile )
}
+/**************************************************************************
+ * SetFileCompletionNotificationModes (KERNEL32.@)
+ */
+BOOL WINAPI SetFileCompletionNotificationModes( HANDLE file, UCHAR flags )
+{
+ FIXME("%p %x - stub\n", file, flags);
+ SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
+ return FALSE;
+}
+
/***********************************************************************
* SetFileInformationByHandle (KERNEL32.@)
*/
diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec
index a0c8123..8e97cdb 100644
--- a/dlls/kernel32/kernel32.spec
+++ b/dlls/kernel32/kernel32.spec
@@ -1393,7 +1393,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 e20a675..cc1081e 100644
--- a/include/winbase.h
+++ b/include/winbase.h
@@ -2460,6 +2460,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 BOOL WINAPI SetFileInformationByHandle(HANDLE,FILE_INFO_BY_HANDLE_CLASS,LPVOID,DWORD);
WINBASEAPI DWORD WINAPI SetFilePointer(HANDLE,LONG,LPLONG,DWORD);
WINBASEAPI BOOL WINAPI SetFilePointerEx(HANDLE,LARGE_INTEGER,LARGE_INTEGER*,DWORD);
--
2.4.2