This partially reverts commit f1be5c7861a43a363b202857014eb49dc5e53acc.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45891 Signed-off-by: Gijs Vermeulen gijsvrm@gmail.com ---
This stub breaks Steam. I think it wouldn't be a good idea to release Wine-3.17 with this bug unfixed.
.../api-ms-win-core-io-l1-1-0/api-ms-win-core-io-l1-1-0.spec | 2 +- .../api-ms-win-core-io-l1-1-1/api-ms-win-core-io-l1-1-1.spec | 2 +- dlls/kernel32/kernel32.spec | 2 +- dlls/kernel32/sync.c | 12 ------------ dlls/kernelbase/kernelbase.spec | 2 +- 5 files changed, 4 insertions(+), 16 deletions(-)
diff --git a/dlls/api-ms-win-core-io-l1-1-0/api-ms-win-core-io-l1-1-0.spec b/dlls/api-ms-win-core-io-l1-1-0/api-ms-win-core-io-l1-1-0.spec index 44d42d1266..f73e427782 100644 --- a/dlls/api-ms-win-core-io-l1-1-0/api-ms-win-core-io-l1-1-0.spec +++ b/dlls/api-ms-win-core-io-l1-1-0/api-ms-win-core-io-l1-1-0.spec @@ -3,5 +3,5 @@ @ stdcall DeviceIoControl(long long ptr long ptr long ptr ptr) kernel32.DeviceIoControl @ stdcall GetOverlappedResult(long ptr ptr long) kernel32.GetOverlappedResult @ stdcall GetQueuedCompletionStatus(long ptr ptr ptr long) kernel32.GetQueuedCompletionStatus -@ stdcall GetQueuedCompletionStatusEx(long ptr long ptr long long) kernel32.GetQueuedCompletionStatusEx +@ stub GetQueuedCompletionStatusEx @ stdcall PostQueuedCompletionStatus(long long ptr ptr) kernel32.PostQueuedCompletionStatus diff --git a/dlls/api-ms-win-core-io-l1-1-1/api-ms-win-core-io-l1-1-1.spec b/dlls/api-ms-win-core-io-l1-1-1/api-ms-win-core-io-l1-1-1.spec index d335efaee8..73aae1aa9a 100644 --- a/dlls/api-ms-win-core-io-l1-1-1/api-ms-win-core-io-l1-1-1.spec +++ b/dlls/api-ms-win-core-io-l1-1-1/api-ms-win-core-io-l1-1-1.spec @@ -6,5 +6,5 @@ @ stdcall GetOverlappedResult(long ptr ptr long) kernel32.GetOverlappedResult @ stub GetOverlappedResultEx @ stdcall GetQueuedCompletionStatus(long ptr ptr ptr long) kernel32.GetQueuedCompletionStatus -@ stdcall GetQueuedCompletionStatusEx(long ptr long ptr long long) kernel32.GetQueuedCompletionStatusEx +@ stub GetQueuedCompletionStatusEx @ stdcall PostQueuedCompletionStatus(long long ptr ptr) kernel32.PostQueuedCompletionStatus diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index cb9c73aef8..9db7d98f41 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -804,7 +804,7 @@ @ stdcall GetProfileStringA(str str str ptr long) @ stdcall GetProfileStringW(wstr wstr wstr ptr long) @ stdcall GetQueuedCompletionStatus(long ptr ptr ptr long) -@ stdcall GetQueuedCompletionStatusEx(long ptr long ptr long long) +# @ stub GetQueuedCompletionStatusEx @ stub -i386 GetSLCallbackTarget @ stub -i386 GetSLCallbackTemplate @ stdcall GetShortPathNameA(str ptr long) diff --git a/dlls/kernel32/sync.c b/dlls/kernel32/sync.c index 58ecc09003..a855e95117 100644 --- a/dlls/kernel32/sync.c +++ b/dlls/kernel32/sync.c @@ -2377,18 +2377,6 @@ BOOL WINAPI GetQueuedCompletionStatus( HANDLE CompletionPort, LPDWORD lpNumberOf return FALSE; }
-/****************************************************************************** - * GetQueuedCompletionStatusEx (KERNEL32.@) - */ -BOOL WINAPI GetQueuedCompletionStatusEx(HANDLE completion_port, LPOVERLAPPED_ENTRY completion_port_entries, - ULONG count, ULONG *num_entries_removed, DWORD milliseconds, - BOOL alertable) -{ - FIXME("(%p, %p, %d, %p, %d, %d) stub!\n", - completion_port, completion_port_entries, count, num_entries_removed, milliseconds, alertable); - SetLastError(ERROR_CALL_NOT_IMPLEMENTED); - return FALSE; -}
/****************************************************************************** * PostQueuedCompletionStatus (KERNEL32.@) diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec index 7d8439fbd6..29805760da 100644 --- a/dlls/kernelbase/kernelbase.spec +++ b/dlls/kernelbase/kernelbase.spec @@ -645,7 +645,7 @@ # @ stub GetPublisherCacheFolder # @ stub GetPublisherRootFolder @ stdcall GetQueuedCompletionStatus(long ptr ptr ptr long) kernel32.GetQueuedCompletionStatus -@ stdcall GetQueuedCompletionStatusEx(long ptr long ptr long long) kernel32.GetQueuedCompletionStatusEx +@ stub GetQueuedCompletionStatusEx # @ stub GetRegistryExtensionFlags # @ stub GetRoamingLastObservedChangeTime @ stdcall GetSecurityDescriptorControl(ptr ptr ptr) advapi32.GetSecurityDescriptorControl
Instead of reverting the commit. Implementing GetQueuedCompletionStatusEx might be better, even partially. GetQueuedCompletionStatus is already implemented and can be served as the base for GetQueuedCompletionStatusEx. As for breaking 3.17 without this commit, well, that's what dev version means in my opinion.
Thanks, Zhiyi
On 2018/9/28 18:55, Gijs Vermeulen wrote:
This partially reverts commit f1be5c7861a43a363b202857014eb49dc5e53acc.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=45891 Signed-off-by: Gijs Vermeulen gijsvrm@gmail.com
This stub breaks Steam. I think it wouldn't be a good idea to release Wine-3.17 with this bug unfixed.
.../api-ms-win-core-io-l1-1-0/api-ms-win-core-io-l1-1-0.spec | 2 +- .../api-ms-win-core-io-l1-1-1/api-ms-win-core-io-l1-1-1.spec | 2 +- dlls/kernel32/kernel32.spec | 2 +- dlls/kernel32/sync.c | 12 ------------ dlls/kernelbase/kernelbase.spec | 2 +- 5 files changed, 4 insertions(+), 16 deletions(-)
diff --git a/dlls/api-ms-win-core-io-l1-1-0/api-ms-win-core-io-l1-1-0.spec b/dlls/api-ms-win-core-io-l1-1-0/api-ms-win-core-io-l1-1-0.spec index 44d42d1266..f73e427782 100644 --- a/dlls/api-ms-win-core-io-l1-1-0/api-ms-win-core-io-l1-1-0.spec +++ b/dlls/api-ms-win-core-io-l1-1-0/api-ms-win-core-io-l1-1-0.spec @@ -3,5 +3,5 @@ @ stdcall DeviceIoControl(long long ptr long ptr long ptr ptr) kernel32.DeviceIoControl @ stdcall GetOverlappedResult(long ptr ptr long) kernel32.GetOverlappedResult @ stdcall GetQueuedCompletionStatus(long ptr ptr ptr long) kernel32.GetQueuedCompletionStatus -@ stdcall GetQueuedCompletionStatusEx(long ptr long ptr long long) kernel32.GetQueuedCompletionStatusEx +@ stub GetQueuedCompletionStatusEx @ stdcall PostQueuedCompletionStatus(long long ptr ptr) kernel32.PostQueuedCompletionStatus diff --git a/dlls/api-ms-win-core-io-l1-1-1/api-ms-win-core-io-l1-1-1.spec b/dlls/api-ms-win-core-io-l1-1-1/api-ms-win-core-io-l1-1-1.spec index d335efaee8..73aae1aa9a 100644 --- a/dlls/api-ms-win-core-io-l1-1-1/api-ms-win-core-io-l1-1-1.spec +++ b/dlls/api-ms-win-core-io-l1-1-1/api-ms-win-core-io-l1-1-1.spec @@ -6,5 +6,5 @@ @ stdcall GetOverlappedResult(long ptr ptr long) kernel32.GetOverlappedResult @ stub GetOverlappedResultEx @ stdcall GetQueuedCompletionStatus(long ptr ptr ptr long) kernel32.GetQueuedCompletionStatus -@ stdcall GetQueuedCompletionStatusEx(long ptr long ptr long long) kernel32.GetQueuedCompletionStatusEx +@ stub GetQueuedCompletionStatusEx @ stdcall PostQueuedCompletionStatus(long long ptr ptr) kernel32.PostQueuedCompletionStatus diff --git a/dlls/kernel32/kernel32.spec b/dlls/kernel32/kernel32.spec index cb9c73aef8..9db7d98f41 100644 --- a/dlls/kernel32/kernel32.spec +++ b/dlls/kernel32/kernel32.spec @@ -804,7 +804,7 @@ @ stdcall GetProfileStringA(str str str ptr long) @ stdcall GetProfileStringW(wstr wstr wstr ptr long) @ stdcall GetQueuedCompletionStatus(long ptr ptr ptr long) -@ stdcall GetQueuedCompletionStatusEx(long ptr long ptr long long) +# @ stub GetQueuedCompletionStatusEx @ stub -i386 GetSLCallbackTarget @ stub -i386 GetSLCallbackTemplate @ stdcall GetShortPathNameA(str ptr long) diff --git a/dlls/kernel32/sync.c b/dlls/kernel32/sync.c index 58ecc09003..a855e95117 100644 --- a/dlls/kernel32/sync.c +++ b/dlls/kernel32/sync.c @@ -2377,18 +2377,6 @@ BOOL WINAPI GetQueuedCompletionStatus( HANDLE CompletionPort, LPDWORD lpNumberOf return FALSE; }
-/******************************************************************************
GetQueuedCompletionStatusEx (KERNEL32.@)
- */
-BOOL WINAPI GetQueuedCompletionStatusEx(HANDLE completion_port, LPOVERLAPPED_ENTRY completion_port_entries,
ULONG count, ULONG *num_entries_removed, DWORD milliseconds,
BOOL alertable)
-{
- FIXME("(%p, %p, %d, %p, %d, %d) stub!\n",
completion_port, completion_port_entries, count, num_entries_removed, milliseconds, alertable);
- SetLastError(ERROR_CALL_NOT_IMPLEMENTED);
- return FALSE;
-}
/******************************************************************************
PostQueuedCompletionStatus (KERNEL32.@)
diff --git a/dlls/kernelbase/kernelbase.spec b/dlls/kernelbase/kernelbase.spec index 7d8439fbd6..29805760da 100644 --- a/dlls/kernelbase/kernelbase.spec +++ b/dlls/kernelbase/kernelbase.spec @@ -645,7 +645,7 @@ # @ stub GetPublisherCacheFolder # @ stub GetPublisherRootFolder @ stdcall GetQueuedCompletionStatus(long ptr ptr ptr long) kernel32.GetQueuedCompletionStatus -@ stdcall GetQueuedCompletionStatusEx(long ptr long ptr long long) kernel32.GetQueuedCompletionStatusEx +@ stub GetQueuedCompletionStatusEx # @ stub GetRegistryExtensionFlags # @ stub GetRoamingLastObservedChangeTime @ stdcall GetSecurityDescriptorControl(ptr ptr ptr) advapi32.GetSecurityDescriptorControl
Zhiyi Zhang zzhang@codeweavers.com writes:
Instead of reverting the commit. Implementing GetQueuedCompletionStatusEx might be better, even partially. GetQueuedCompletionStatus is already implemented and can be served as the base for GetQueuedCompletionStatusEx. As for breaking 3.17 without this commit, well, that's what dev version means in my opinion.
Yes, the policy is to avoid such reverts, but I think Steam is important enough to make an exception. It would sure be nice to have a proper implementation for 3.18 though...