|
|
1.1 root 1: #include <selector.h>
2:
3: /* Maximum HWNDS, we will watch */
4: #define MAXHWNDS 100
5: #define MAXMSGCNT 50 /* size of Message queue */
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:
26:
27: /* Define the HOOKS options word bits */
28: #define SPYH_INPUT 0x0001
29: #define SPYH_SENDMSG 0x0002
30: #define SPYH_JOURNALR 0x0004
31:
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
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 *);
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);
61: BOOL FAR PASCAL SpySetAllFrameOpt(BOOL);
62: BOOL FAR PASCAL SpySetAllWindowOpt (BOOL);
63:
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.