|
|
1.1.1.2 ! root 1: #include <selector.h> 1.1 root 2: 3: /* Maximum HWNDS, we will watch */ 4: #define MAXHWNDS 100 5: #define MAXMSGCNT 50 /* size of Message queue */ 1.1.1.2 ! root 6: #define MAXSTRACE 5 /* Max number of levels we will traceback */ ! 7: #define CALLSTOSKIP 3 /* How many levels of calls to skip */ ! 8: ! 9: /* ! 10: * Define message structure for spy to hold ! 11: */ ! 12: typedef struct _QMSGSPY { ! 13: USHORT fs; /* Flags */ ! 14: QMSG qmsg; /* The message */ ! 15: SHORT cbDataMP1; /* Num extra bytes of information for MP1 */ ! 16: SHORT cbDataMP2; /* Num extra bytes of information for MP2 */ ! 17: PID pidSend; /* Process ID of the sender */ ! 18: TID tidSend; /* Thread ID of the sender */ ! 19: PVOID pvoidStack[MAXSTRACE]; /* Stack trace for send messages */ ! 20: UCHAR *rgData; /* Pointer to additional information for message */ ! 21: UCHAR bMPType; /* Type of message information retrieved */ ! 22: } QMSGSPY; ! 23: ! 24: typedef QMSGSPY FAR *PQMSGSPY; ! 25: 1.1 root 26: 27: /* Define the HOOKS options word bits */ 28: #define SPYH_INPUT 0x0001 29: #define SPYH_SENDMSG 0x0002 30: #define SPYH_JOURNALR 0x0004 31: 1.1.1.2 ! root 32: /* ! 33: * Define the types of data that the hook will return for message types ! 34: * Note: We have a max of 8 types each for MP1 and MP2 and that currently ! 35: * can be defined with a Byte for each message ! 36: */ ! 37: #define MPT_NORMAL 0x00 ! 38: #define MPT_SWP 0x01 ! 39: #define MPT_RECTL 0x02 ! 40: #define MPT_WNDPRMS 0x03 ! 41: #define MPT_QMSG 0x04 ! 42: #define MP_ENABLED 0x80 ! 43: ! 44: #define MP_MASK 0x07 ! 45: ! 46: #define MPTS(mp1,mp2) ((UCHAR)mp2 << 3 | (UCHAR)mp1) ! 47: ! 48: #define MAXMSGFILTER 0x0300 /* User message */ ! 49: #define MAXMSGFILTERBYTES 0x0300 1.1 root 50: 51: /* SPYHOOK library API functions */ 52: BOOL FAR PASCAL SpyInstallHook( HAB, HMQ, USHORT); 53: BOOL FAR PASCAL SpyReleaseHook( BOOL ); 54: BOOL FAR PASCAL SpyHookOnOrOff( BOOL); 55: BOOL FAR PASCAL SpySetWindowList(SHORT, HWND FAR *); 56: SHORT FAR PASCAL SpyGetWindowList(SHORT, HWND FAR *); 1.1.1.2 ! root 57: BOOL FAR PASCAL SpySetQueueList(SHORT, HMQ FAR *); ! 58: SHORT FAR PASCAL SpyGetQueueList(SHORT, HMQ FAR *); ! 59: BOOL FAR PASCAL SpySetMessageList(UCHAR FAR *, BOOL); ! 60: BOOL FAR PASCAL SpyFWindowInList(HWND, BOOL); 1.1 root 61: BOOL FAR PASCAL SpySetAllFrameOpt(BOOL); 62: BOOL FAR PASCAL SpySetAllWindowOpt (BOOL); 63: 1.1.1.2 ! root 64: BOOL FAR PASCAL SpyGetNextMessage(PQMSGSPY, CHAR FAR *, SHORT, LONG); ! 65: ! 66: /* API's For trying to get info symbol information from other PID */ ! 67: BOOL FAR PASCAL SpySetLNSymbolPID(PID, USHORT); ! 68: int FAR PASCAL SpyGetLNSymbolSelector(PWHOISINFO);
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.