Module: wine Branch: master Commit: 139cc95610d7c14a5eab62df971fe5505b0b067c URL: https://source.winehq.org/git/wine.git/?a=commit;h=139cc95610d7c14a5eab62df9...
Author: Sebastian Lackner sebastian@fds-team.de Date: Thu Oct 25 14:56:31 2018 +0200
kernel32: Add SetFileCompletionNotificationModes implementation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=38960 Signed-off-by: Jacek Caban jacek@codeweavers.com Signed-off-by: Alexandre Julliard julliard@winehq.org
---
dlls/kernel32/file.c | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/dlls/kernel32/file.c b/dlls/kernel32/file.c index 081f076..eeccf67 100644 --- a/dlls/kernel32/file.c +++ b/dlls/kernel32/file.c @@ -1065,13 +1065,20 @@ BOOL WINAPI SetEndOfFile( HANDLE hFile ) return FALSE; }
+ /************************************************************************** * SetFileCompletionNotificationModes (KERNEL32.@) */ -BOOL WINAPI SetFileCompletionNotificationModes( HANDLE handle, UCHAR flags ) +BOOL WINAPI SetFileCompletionNotificationModes( HANDLE file, UCHAR flags ) { - FIXME("%p %x - stub\n", handle, flags); - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); + FILE_IO_COMPLETION_NOTIFICATION_INFORMATION info; + IO_STATUS_BLOCK io; + NTSTATUS status; + + info.Flags = flags; + status = NtSetInformationFile( file, &io, &info, sizeof(info), FileIoCompletionNotificationInformation ); + if (status == STATUS_SUCCESS) return TRUE; + SetLastError( RtlNtStatusToDosError(status) ); return FALSE; }