[NtUser|User32]

- Adding more message write backs. Test code for explorer task bar size change. See CORE-7447.

svn path=/trunk/; revision=62727
This commit is contained in:
James Tabor 2014-04-12 23:58:12 +00:00
parent ebfb6c79a7
commit 47bbfcb842
3 changed files with 29 additions and 0 deletions

View file

@ -374,6 +374,8 @@ co_IntCallWindowProc(WNDPROC Proc,
case WM_NCCREATE: case WM_NCCREATE:
case WM_STYLECHANGING: case WM_STYLECHANGING:
case WM_WINDOWPOSCHANGING: case WM_WINDOWPOSCHANGING:
case WM_SIZING:
case WM_MOVING:
TRACE("Copy lParam, Message %d Size %d lParam %d!\n", Message, lParamBufferSize, lParam); TRACE("Copy lParam, Message %d Size %d lParam %d!\n", Message, lParamBufferSize, lParam);
if (InSendMessage) if (InSendMessage)
// Copy into kernel space. // Copy into kernel space.

View file

@ -136,6 +136,8 @@ static MSGMEMORY g_MsgMemory[] =
{ WM_COPYGLOBALDATA, MMS_SIZE_WPARAM, MMS_FLAG_READ }, { WM_COPYGLOBALDATA, MMS_SIZE_WPARAM, MMS_FLAG_READ },
{ WM_WINDOWPOSCHANGED, sizeof(WINDOWPOS), MMS_FLAG_READWRITE }, { WM_WINDOWPOSCHANGED, sizeof(WINDOWPOS), MMS_FLAG_READWRITE },
{ WM_WINDOWPOSCHANGING, sizeof(WINDOWPOS), MMS_FLAG_READWRITE }, { WM_WINDOWPOSCHANGING, sizeof(WINDOWPOS), MMS_FLAG_READWRITE },
{ WM_SIZING, sizeof(RECT), MMS_FLAG_READWRITE },
{ WM_MOVING, sizeof(RECT), MMS_FLAG_READWRITE },
}; };
static PMSGMEMORY FASTCALL static PMSGMEMORY FASTCALL

View file

@ -2930,6 +2930,17 @@ User32CallWindowProcFromKernel(PVOID Arguments, ULONG ArgumentLength)
return STATUS_INFO_LENGTH_MISMATCH; return STATUS_INFO_LENGTH_MISMATCH;
} }
KMMsg.lParam = (LPARAM) ((char *) CallbackArgs + sizeof(WINDOWPROC_CALLBACK_ARGUMENTS)); KMMsg.lParam = (LPARAM) ((char *) CallbackArgs + sizeof(WINDOWPROC_CALLBACK_ARGUMENTS));
switch(KMMsg.message)
{
case WM_SIZING:
{
PRECT prect = (PRECT) KMMsg.lParam;
ERR("WM_SIZING 1 t %d l %d r %d b %d\n",prect->top,prect->left,prect->right,prect->bottom);
break;
}
default:
break;
}
} }
else else
{ {
@ -2965,6 +2976,20 @@ User32CallWindowProcFromKernel(PVOID Arguments, ULONG ArgumentLength)
{ {
} }
if (0 <= CallbackArgs->lParamBufferSize)
{
switch(KMMsg.message)
{
case WM_SIZING:
{
PRECT prect = (PRECT) KMMsg.lParam;
ERR("WM_SIZING 2 t %d l %d r %d b %d\n",prect->top,prect->left,prect->right,prect->bottom);
break;
}
default:
break;
}
}
return ZwCallbackReturn(CallbackArgs, ArgumentLength, STATUS_SUCCESS); return ZwCallbackReturn(CallbackArgs, ArgumentLength, STATUS_SUCCESS);
} }