ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

hook.h
Go to the documentation of this file.
00001 #pragma once
00002 
00003 #define HOOK_THREAD_REFERENCED  (0x1)
00004 #define HOOKID_TO_INDEX(HookId) (HookId - WH_MINHOOK)
00005 #define HOOKID_TO_FLAG(HookId) (1 << ((HookId) + 1))
00006 #define ISITHOOKED(HookId) (((PTHREADINFO)PsGetCurrentThreadWin32Thread())->fsHooks & HOOKID_TO_FLAG(HookId))
00007 
00008 /* NOTE: The following definition is not a real hook but
00009          a pseudo-id that will be used only for 
00010          injecting user api hook module to all processes.
00011          It is used internally in win32k */
00012 #define WH_APIHOOK WH_MAX + 1
00013 
00014 
00015 typedef struct tagEVENTHOOK
00016 {
00017   THROBJHEAD     head;
00018   LIST_ENTRY     Chain;      /* Event chain entry */
00019   UINT           eventMin;
00020   UINT           eventMax; 
00021   DWORD          idProcess;
00022   DWORD          idThread;
00023   WINEVENTPROC   Proc;       /* Event function */
00024   ULONG          Flags;      /* Some internal flags */
00025   ULONG_PTR      offPfn;
00026   INT            ihmod;
00027 } EVENTHOOK, *PEVENTHOOK;
00028 
00029 typedef struct tagEVENTTABLE
00030 {
00031   LIST_ENTRY Events;
00032   UINT       Counts;
00033 } EVENTTABLE, *PEVENTTABLE;
00034 
00035 typedef struct _NOTIFYEVENT
00036 {
00037    DWORD event;
00038    LONG  idObject;
00039    LONG  idChild;
00040    DWORD flags; 
00041 } NOTIFYEVENT, *PNOTIFYEVENT;
00042 
00043 LRESULT FASTCALL co_CallHook(INT HookId, INT Code, WPARAM wParam, LPARAM lParam);
00044 LRESULT FASTCALL co_HOOK_CallHooks(INT HookId, INT Code, WPARAM wParam, LPARAM lParam);
00045 LRESULT FASTCALL co_EVENT_CallEvents(DWORD, HWND, UINT_PTR, LONG_PTR);
00046 VOID FASTCALL HOOK_DestroyThreadHooks(PETHREAD Thread);
00047 VOID FASTCALL EVENT_DestroyThreadEvents(PETHREAD Thread);
00048 PHOOK FASTCALL IntGetHookObject(HHOOK);
00049 PHOOK FASTCALL IntGetNextHook(PHOOK Hook);
00050 LRESULT FASTCALL UserCallNextHookEx( PHOOK pHook, int Code, WPARAM wParam, LPARAM lParam, BOOL Ansi);
00051 BOOL FASTCALL IntUnhookWindowsHook(int,HOOKPROC);
00052 
00053 BOOL FASTCALL UserLoadApiHook();
00054 BOOL IntLoadHookModule(int iHookID, HHOOK hHook, BOOL Unload);
00055 BOOL FASTCALL UserUnregisterUserApiHook();
00056 
00057 extern PPROCESSINFO ppiUahServer;
00058 
00059 /* EOF */

Generated on Sat May 26 2012 04:37:21 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.