From: James Tabor Date: Fri, 22 Nov 2013 18:45:58 +0000 (+0000) Subject: - Move ATI from stub file. Applications like Magnifier uses it but it seems to return... X-Git-Tag: ReactOS-0.3.16~707 X-Git-Url: https://git.reactos.org/?p=reactos.git;a=commitdiff_plain;h=263bd12de44bc2c9c6db448b52123e1b1c57d445 - Move ATI from stub file. Applications like Magnifier uses it but it seems to return an error. svn path=/trunk/; revision=61079 --- diff --git a/reactos/win32ss/user/ntuser/input.c b/reactos/win32ss/user/ntuser/input.c index 4223669256a..691872fbe79 100644 --- a/reactos/win32ss/user/ntuser/input.c +++ b/reactos/win32ss/user/ntuser/input.c @@ -591,6 +591,44 @@ UserAttachThreadInput(PTHREADINFO ptiFrom, PTHREADINFO ptiTo, BOOL fAttach) return STATUS_SUCCESS; } +BOOL +APIENTRY +NtUserAttachThreadInput( + IN DWORD idAttach, + IN DWORD idAttachTo, + IN BOOL fAttach) +{ + NTSTATUS Status; + PTHREADINFO pti, ptiTo; + BOOL Ret = FALSE; + + UserEnterExclusive(); + ERR("Enter NtUserAttachThreadInput %s\n",(fAttach ? "TRUE" : "FALSE" )); + + pti = IntTID2PTI((HANDLE)idAttach); + ptiTo = IntTID2PTI((HANDLE)idAttachTo); + + if ( !pti || !ptiTo ) + { + ERR("AttachThreadInput pti or ptiTo NULL.\n"); + EngSetLastError(ERROR_INVALID_PARAMETER); + goto Exit; + } + + Status = UserAttachThreadInput( pti, ptiTo, fAttach); + if (!NT_SUCCESS(Status)) + { + ERR("AttachThreadInput Error Status 0x%x. \n",Status); + EngSetLastError(RtlNtStatusToDosError(Status)); + } + else Ret = TRUE; + +Exit: + ERR("Leave NtUserAttachThreadInput, ret=%d\n",Ret); + UserLeave(); + return Ret; +} + /* * NtUserSendInput * diff --git a/reactos/win32ss/user/ntuser/ntstubs.c b/reactos/win32ss/user/ntuser/ntstubs.c index b87c5508913..2176cde0755 100644 --- a/reactos/win32ss/user/ntuser/ntstubs.c +++ b/reactos/win32ss/user/ntuser/ntstubs.c @@ -20,44 +20,6 @@ NtUserAssociateInputContext( return 0; } - -BOOL -APIENTRY -NtUserAttachThreadInput( - IN DWORD idAttach, - IN DWORD idAttachTo, - IN BOOL fAttach) -{ - NTSTATUS Status; - PTHREADINFO pti, ptiTo; - BOOL Ret = FALSE; - - UserEnterExclusive(); - ERR("Enter NtUserAttachThreadInput %s\n",(fAttach ? "TRUE" : "FALSE" )); - - pti = IntTID2PTI((HANDLE)idAttach); - ptiTo = IntTID2PTI((HANDLE)idAttachTo); - - if ( !pti || !ptiTo ) - { - ERR("AttachThreadInput pti or ptiTo NULL.\n"); - EngSetLastError(ERROR_INVALID_PARAMETER); - goto Exit; - } - - Status = UserAttachThreadInput( pti, ptiTo, fAttach); - if (!NT_SUCCESS(Status)) - { - EngSetLastError(RtlNtStatusToDosError(Status)); - } - else Ret = TRUE; - -Exit: - ERR("Leave NtUserAttachThreadInput, ret=%d\n",Ret); - UserLeave(); - return Ret; -} - // // Works like BitBlt, http://msdn.microsoft.com/en-us/library/ms532278(VS.85).aspx //