[resend PATCH 1/2] ntdll: Implement NtQuerySystemInformationEx(SystemCpuSetInformation).

Alexandre Julliard julliard at winehq.org
Mon Mar 29 14:33:53 CDT 2021


Paul Gofman <pgofman at codeweavers.com> writes:

> @@ -2651,6 +2743,10 @@ NTSTATUS WINAPI NtQuerySystemInformation( SYSTEM_INFORMATION_CLASS class,
>          break;
>      }
>  
> +    case SystemCpuSetInformation:
> +        return is_win64 ? NtQuerySystemInformationEx(class, NULL, 0, info, size, ret_size)
> +                : STATUS_INVALID_INFO_CLASS;
> +
>      case SystemRecommendedSharedDataAlignment:
>      {
>          len = sizeof(DWORD);
> @@ -2773,6 +2869,31 @@ NTSTATUS WINAPI NtQuerySystemInformationEx( SYSTEM_INFORMATION_CLASS class,
>          break;
>      }
>  
> +    case SystemCpuSetInformation:
> +    {
> +        unsigned int cpu_count = NtCurrentTeb()->Peb->NumberOfProcessors;
> +        PROCESS_BASIC_INFORMATION pbi;
> +        HANDLE process;
> +
> +        if (!query || query_len < sizeof(HANDLE) || (is_win64 && query_len != sizeof(HANDLE)))
> +            return STATUS_INVALID_PARAMETER;

I suspect these 64-bit differences are side-effects of the WoW
translation rather than fundamental limitations. We may not be able to
find a 32-bit Windows version to verify this, but there doesn't seem to
be a reason to deliberately break these calls on 32-bit Wine.

-- 
Alexandre Julliard
julliard at winehq.org



More information about the wine-devel mailing list