[User32] - Fix an over site and copy the return data back to the kernel.

svn path=/trunk/; revision=49300
This commit is contained in:
James Tabor 2010-10-27 00:03:41 +00:00
parent 07cd3fc8d0
commit 851c1c1742

View file

@ -449,12 +449,9 @@ NTSTATUS WINAPI
User32CallHookProcFromKernel(PVOID Arguments, ULONG ArgumentLength) User32CallHookProcFromKernel(PVOID Arguments, ULONG ArgumentLength)
{ {
PHOOKPROC_CALLBACK_ARGUMENTS Common; PHOOKPROC_CALLBACK_ARGUMENTS Common;
LRESULT Result;
CREATESTRUCTW Csw; CREATESTRUCTW Csw;
CBT_CREATEWNDW CbtCreatewndw; CBT_CREATEWNDW CbtCreatewndw;
PHOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS CbtCreatewndExtra = NULL; PHOOKPROC_CBT_CREATEWND_EXTRA_ARGUMENTS CbtCreatewndExtra = NULL;
WPARAM wParam = 0;
LPARAM lParam = 0;
PKBDLLHOOKSTRUCT pKeyboardLlData; PKBDLLHOOKSTRUCT pKeyboardLlData;
PMSLLHOOKSTRUCT pMouseLlData; PMSLLHOOKSTRUCT pMouseLlData;
PMSG pMsg; PMSG pMsg;
@ -463,6 +460,9 @@ User32CallHookProcFromKernel(PVOID Arguments, ULONG ArgumentLength)
PCWPRETSTRUCT pCWPR; PCWPRETSTRUCT pCWPR;
PRECTL prl; PRECTL prl;
LPCBTACTIVATESTRUCT pcbtas; LPCBTACTIVATESTRUCT pcbtas;
WPARAM wParam = 0;
LPARAM lParam = 0;
LRESULT Result = 0;
BOOL Hit = FALSE; BOOL Hit = FALSE;
Common = (PHOOKPROC_CALLBACK_ARGUMENTS) Arguments; Common = (PHOOKPROC_CALLBACK_ARGUMENTS) Arguments;
@ -530,6 +530,10 @@ User32CallHookProcFromKernel(PVOID Arguments, ULONG ArgumentLength)
{ {
case HCBT_CREATEWND: case HCBT_CREATEWND:
CbtCreatewndExtra->WndInsertAfter = CbtCreatewndw.hwndInsertAfter; CbtCreatewndExtra->WndInsertAfter = CbtCreatewndw.hwndInsertAfter;
CbtCreatewndExtra->Cs.x = CbtCreatewndw.lpcs->x;
CbtCreatewndExtra->Cs.y = CbtCreatewndw.lpcs->y;
CbtCreatewndExtra->Cs.cx = CbtCreatewndw.lpcs->cx;
CbtCreatewndExtra->Cs.cy = CbtCreatewndw.lpcs->cy;
break; break;
} }
break; break;