{
PPROCESSINFO ppi; /* [KERNEL] */
PDESKTOPINFO pDeskInfo;
-// PVOID DesktopHeapBase;
-// ULONG_PTR DesktopHeapLimit;
- /* A mask of what hooks are currently active */
ULONG fsHooks;
- CLIENTTHREADINFO ClientThreadInfo;
} W32THREADINFO, *PW32THREADINFO;
/* Window Client Information structure */
ULONG fsHooks;
LIST_ENTRY PtiLink;
+ CLIENTTHREADINFO cti; // Used only when no Desktop or pcti NULL.
+
LIST_ENTRY WindowListHead;
LIST_ENTRY W32CallbackListHead;
BOOLEAN IsExiting;
}
Win32Thread->MessageQueue = MsqCreateMessageQueue(Thread);
Win32Thread->KeyboardLayout = W32kGetDefaultKeyLayout();
- if (Win32Thread->ThreadInfo)
- {
- Win32Thread->ThreadInfo->ClientThreadInfo.dwcPumpHook = 0;
-// Win32Thread->pClientInfo->pClientThreadInfo = &Win32Thread->ThreadInfo->ClientThreadInfo;
- }
}
else
{
{
if (((PTHREADINFO)PsGetCurrentThread()->Tcb.Win32Thread)->ThreadInfo)
{
- ((PTHREADINFO)PsGetCurrentThread()->Tcb.Win32Thread)->ThreadInfo->ClientThreadInfo.dwcPumpHook++;
+ ((PTHREADINFO)PsGetCurrentThread()->Tcb.Win32Thread)->pcti->dwcPumpHook++;
return TRUE;
}
return FALSE;
{
if (((PTHREADINFO)PsGetCurrentThread()->Tcb.Win32Thread)->ThreadInfo)
{
- if (((PTHREADINFO)PsGetCurrentThread()->Tcb.Win32Thread)->ThreadInfo->ClientThreadInfo.dwcPumpHook <= 0)
+ if (((PTHREADINFO)PsGetCurrentThread()->Tcb.Win32Thread)->pcti->dwcPumpHook <= 0)
{
return FALSE;
}
- ((PTHREADINFO)PsGetCurrentThread()->Tcb.Win32Thread)->ThreadInfo->ClientThreadInfo.dwcPumpHook--;
+ ((PTHREADINFO)PsGetCurrentThread()->Tcb.Win32Thread)->pcti->dwcPumpHook--;
return TRUE;
}
return FALSE;
/* initialize it */
ti->ppi = GetW32ProcessInfo();
ti->fsHooks = W32Thread->fsHooks;
-// W32Thread->pcti = &ti->ClientThreadInfo;
- W32Thread->pcti = NULL; // FIXME
+ W32Thread->pcti = &W32Thread->cti; // FIXME
if (W32Thread->Desktop != NULL)
{
ti->pDeskInfo = W32Thread->Desktop->DesktopInfo;