W32Thread->fsHooks |= HOOKID_TO_FLAG(HookId);
GetWin32ClientInfo()->fsHooks = W32Thread->fsHooks;
-
- if (W32Thread->ThreadInfo != NULL)
- W32Thread->ThreadInfo->fsHooks = W32Thread->fsHooks;
}
RtlInitUnicodeString(&Hook->ModuleName, NULL);
PTHREADINFO W32Thread;
PHOOKTABLE Table = IntGetTable(Hook);
- ASSERT(NULL != Table);
- if (NULL == Table)
- {
- return;
- }
+ ASSERT(NULL != Table); // At this point this should not be null!
W32Thread = ((PTHREADINFO)Hook->Thread->Tcb.Win32Thread);
ASSERT(W32Thread != NULL);
GetWin32ClientInfo()->fsHooks = W32Thread->fsHooks;
- if (W32Thread->ThreadInfo != NULL)
- W32Thread->ThreadInfo->fsHooks = W32Thread->fsHooks;
-
if (0 != Table->Counts[HOOKID_TO_INDEX(Hook->HookId)])
{
Hook->Proc = NULL; /* chain is in use, just mark it and return */
/* FIXME should get timeout from
* HKEY_CURRENT_USER\Control Panel\Desktop\LowLevelHooksTimeout */
Status = co_MsqSendMessage(((PTHREADINFO)Hook->Thread->Tcb.Win32Thread)->MessageQueue,
- (HWND)Code,
+ (HWND)(UINT_PTR)Code,
Hook->HookId,
wParam,
lParam,
Mod = NULL;
Global = FALSE;
- if (!NT_SUCCESS(PsLookupThreadByThreadId((HANDLE) ThreadId, &Thread)))
+ if (!NT_SUCCESS(PsLookupThreadByThreadId((HANDLE)(DWORD_PTR) ThreadId, &Thread)))
{
DPRINT1("Invalid thread id 0x%x\n", ThreadId);
SetLastWin32Error(ERROR_INVALID_PARAMETER);
UserLeave();
END_CLEANUP;
}
-
+
/* EOF */