Annotation of pmsdk/samples/include/spyhook.h, revision 1.1.1.1

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);

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.