}
VOID FASTCALL
-MsqCleanupMessageQueue(PUSER_MESSAGE_QUEUE MessageQueue)
+MsqCleanupMessageQueue(PTHREADINFO pti)
{
+ PUSER_MESSAGE_QUEUE MessageQueue;
PLIST_ENTRY CurrentEntry;
PUSER_MESSAGE CurrentMessage;
PUSER_SENT_MESSAGE CurrentSentMessage;
- PTHREADINFO pti;
-
- pti = MessageQueue->Thread->Tcb.Win32Thread;
+ MessageQueue = pti->MessageQueue;
/* cleanup posted messages */
while (!IsListEmpty(&MessageQueue->PostedMessagesListHead))
}
// Clear it all out.
- if(pti->pcti)
+ if (pti->pcti)
{
pti->pcti->fsWakeBits = 0;
pti->pcti->fsChangeBits = 0;
UserDereferenceObject(pCursor);
}
-
}
PUSER_MESSAGE_QUEUE FASTCALL
}
VOID FASTCALL
-MsqDestroyMessageQueue(PUSER_MESSAGE_QUEUE MessageQueue)
+MsqDestroyMessageQueue(PTHREADINFO pti)
{
PDESKTOP desk;
+ PUSER_MESSAGE_QUEUE MessageQueue = pti->MessageQueue;
MessageQueue->QF_flags |= QF_INDESTROY;
}
/* clean it up */
- MsqCleanupMessageQueue(MessageQueue);
+ MsqCleanupMessageQueue(pti);
if (MessageQueue->NewMessagesHandle != NULL)
ZwClose(MessageQueue->NewMessagesHandle);