Annotation of pmsdk/samples/spy/spyhook.h, revision 1.1.1.2

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

unix.superglobalmegacorp.com

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