[PATCH] Revert "kernel32: Add GetQueuedCompletionStatusEx stub."

Zhiyi Zhang zzhang at codeweavers.com
Fri Sep 28 10:33:49 CDT 2018


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 at 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




More information about the wine-devel mailing list