mirror of
https://github.com/reactos/reactos.git
synced 2025-08-05 21:32:56 +00:00
- Plugged in client thread information, tested with Qemu.
- Add small fix to IntBroadcastSystemMessage structure. svn path=/trunk/; revision=32887
This commit is contained in:
parent
b862b0731a
commit
ef08f7b929
2 changed files with 7 additions and 9 deletions
|
@ -2310,10 +2310,8 @@ DWORD gfMessagePumpHook = 0;
|
||||||
|
|
||||||
BOOL WINAPI IsInsideMessagePumpHook()
|
BOOL WINAPI IsInsideMessagePumpHook()
|
||||||
{
|
{
|
||||||
// PCLIENTTHREADINFO pcti = ((PW32CLIENTINFO)GetWin32ClientInfo())->pClientThreadInfo;
|
PCLIENTTHREADINFO pcti = ((PW32CLIENTINFO)GetWin32ClientInfo())->pClientThreadInfo;
|
||||||
// return (gfMessagePumpHook && pcti && (pcti->dwcPumpHook > 0));
|
return (gfMessagePumpHook && pcti && (pcti->dwcPumpHook > 0));
|
||||||
if(!gfMessagePumpHook) return FALSE;
|
|
||||||
return TRUE;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
void WINAPI ResetMessagePumpHook(PUSER_MESSAGE_PUMP_ADDRESSES Addresses)
|
void WINAPI ResetMessagePumpHook(PUSER_MESSAGE_PUMP_ADDRESSES Addresses)
|
||||||
|
@ -2558,7 +2556,7 @@ IsDialogMessageA( HWND hwndDlg, LPMSG pmsg )
|
||||||
typedef struct _BROADCASTPARM
|
typedef struct _BROADCASTPARM
|
||||||
{
|
{
|
||||||
DWORD flags;
|
DWORD flags;
|
||||||
LPDWORD recipients;
|
DWORD recipients;
|
||||||
HDESK hDesk;
|
HDESK hDesk;
|
||||||
HWND hWnd;
|
HWND hWnd;
|
||||||
LUID luid;
|
LUID luid;
|
||||||
|
@ -2620,7 +2618,7 @@ IntBroadcastSystemMessage(
|
||||||
parm.hDesk = NULL;
|
parm.hDesk = NULL;
|
||||||
parm.hWnd = NULL;
|
parm.hWnd = NULL;
|
||||||
parm.flags = dwflags;
|
parm.flags = dwflags;
|
||||||
parm.recipients = lpdwRecipients;
|
parm.recipients = *lpdwRecipients;
|
||||||
|
|
||||||
if (dwflags & BSF_LUID) parm.luid = pBSMInfo->luid;
|
if (dwflags & BSF_LUID) parm.luid = pBSMInfo->luid;
|
||||||
|
|
||||||
|
|
|
@ -436,7 +436,7 @@ GetW32ThreadInfo(VOID)
|
||||||
{
|
{
|
||||||
PTEB Teb;
|
PTEB Teb;
|
||||||
PW32THREADINFO ti;
|
PW32THREADINFO ti;
|
||||||
// PW32CLIENTINFO ci;
|
PW32CLIENTINFO ci;
|
||||||
PW32THREAD W32Thread = PsGetCurrentThreadWin32Thread();
|
PW32THREAD W32Thread = PsGetCurrentThreadWin32Thread();
|
||||||
|
|
||||||
if (W32Thread == NULL)
|
if (W32Thread == NULL)
|
||||||
|
@ -476,7 +476,7 @@ GetW32ThreadInfo(VOID)
|
||||||
W32Thread->ThreadInfo = ti;
|
W32Thread->ThreadInfo = ti;
|
||||||
/* update the TEB */
|
/* update the TEB */
|
||||||
Teb = NtCurrentTeb();
|
Teb = NtCurrentTeb();
|
||||||
// ci = GetWin32ClientInfo();
|
ci = ((PW32CLIENTINFO)Teb->Win32ClientInfo);
|
||||||
_SEH_TRY
|
_SEH_TRY
|
||||||
{
|
{
|
||||||
ProbeForWrite(Teb,
|
ProbeForWrite(Teb,
|
||||||
|
@ -484,7 +484,7 @@ GetW32ThreadInfo(VOID)
|
||||||
sizeof(ULONG));
|
sizeof(ULONG));
|
||||||
|
|
||||||
Teb->Win32ThreadInfo = UserHeapAddressToUser(W32Thread->ThreadInfo);
|
Teb->Win32ThreadInfo = UserHeapAddressToUser(W32Thread->ThreadInfo);
|
||||||
// ci->pClientThreadInfo = UserHeapAddressToUser(&ti->ClientThreadInfo);
|
ci->pClientThreadInfo = &ti->ClientThreadInfo;
|
||||||
}
|
}
|
||||||
_SEH_HANDLE
|
_SEH_HANDLE
|
||||||
{
|
{
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue