Annotation of os232sdk/toolkt20/c/samples/spy/spyhk32.h, revision 1.1.1.1

1.1       root        1: /* Maximum HWNDS, we will watch */
                      2: #define MAXHWNDS    100
                      3: #define MAXMSGCNT   50  /* size of Message queue */
                      4: #define MAXSTRACE   5   /* Max number of levels we will traceback */
                      5: #define CALLSTOSKIP 3   /* How many levels of calls to skip */
                      6: 
                      7: /*
                      8:  * Define message structure for spy to hold
                      9:  */
                     10: typedef struct _QMSGSPY {
                     11:     USHORT      fs;         /* Flags */
                     12:     QMSG        qmsg;       /* The message */
                     13:     BOOL        fMP1Valid;  /* Is the extra bytes valid? */
                     14:     SHORT       cbDataMP1;  /* Num extra bytes of information for MP1 */
                     15:     BOOL        fMP2Valid;  /* Is the extra bytes valid? */
                     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:     UCHAR       *rgData;    /* Pointer to additional information for message */
                     20:     UCHAR       bMPType;    /* Type of message information retrieved */
                     21: } QMSGSPY;
                     22: 
                     23: typedef QMSGSPY *PQMSGSPY;
                     24: 
                     25: 
                     26: /* Define the HOOKS options word bits */
                     27: #define SPYH_INPUT      0x0001
                     28: #define SPYH_SENDMSG    0x0002
                     29: #define SPYH_JOURNALR   0x0004
                     30: 
                     31: /*
                     32:  * Define the types of data that the hook will return for message types
                     33:  * Note: We have a max of 8 types each for MP1 and MP2 and that currently
                     34:  * can be defined with a Byte for each message
                     35:  */
                     36: #define MPT_NORMAL      0x00
                     37: #define MPT_SWP         0x01
                     38: #define MPT_RECTL       0x02
                     39: #define MPT_WNDPRMS     0x03
                     40: #define MPT_QMSG        0x04
                     41: #define MP_ENABLED      0x80
                     42: 
                     43: #define MP_MASK         0x07
                     44: 
                     45: #define MPTS(mp1,mp2)   ((UCHAR)mp2 << 3 | (UCHAR)mp1)
                     46: 
                     47: 
                     48: /*
                     49: ** The value 0x300 is the last+1 message number used by PMWIN for
                     50: ** it's private use.
                     51: */
                     52: #define        MAXMSGFILTER            0x0300
                     53: #define        MAXMSGFILTERBYTES       0x0300
                     54: /*
                     55: ** Private pmwin message used to get the current task's focus
                     56: */
                     57: #define        WM_QUERYTASKFOCUS       0x0058
                     58: 
                     59: /* SPYHOOK library API functions */
                     60: BOOL EXPENTRY SpyInitializeHook (void);
                     61: BOOL EXPENTRY SpyTerminateHook (void);
                     62: BOOL EXPENTRY SpyInstallHook( HAB, HMQ, USHORT);
                     63: BOOL EXPENTRY SpyReleaseHook( BOOL );
                     64: BOOL EXPENTRY SpyHookOnOrOff( BOOL);
                     65: BOOL EXPENTRY SpySetWindowList(SHORT, HWND *);
                     66: SHORT EXPENTRY SpyGetWindowList(SHORT, HWND *);
                     67: BOOL EXPENTRY SpySetQueueList(SHORT, HMQ *);
                     68: SHORT EXPENTRY SpyGetQueueList(SHORT, HMQ *);
                     69: BOOL EXPENTRY SpySetMessageList(UCHAR *, BOOL);
                     70: BOOL EXPENTRY SpyFWindowInList(HWND, BOOL);
                     71: BOOL EXPENTRY SpySetAllFrameOpt(BOOL);
                     72: BOOL EXPENTRY SpySetAllWindowOpt (BOOL);
                     73: 
                     74: BOOL EXPENTRY SpyGetNextMessage(PQMSGSPY, PSZ, SHORT, LONG);
                     75: 
                     76: /* API's For trying to get info symbol information from other PID */
                     77: // Define some PID Intersept types
                     78: typedef struct _pit {
                     79:     PID     pid;        // Which process are we trying to trap on
                     80:     USHORT  usPIT;      // What type of data are we looking for
                     81:     ULONG   ulInfo;     // Pointer for data to look for;
                     82:     char    *pvoidData; // Pointer to information found;
                     83:     USHORT  cbData;     // Number of bytes found;
                     84:     MRESULT mresult;    // result of call;
                     85: } PIT;
                     86: 
                     87: #define PIT_SYMBOL      1   /* Get symbol information */
                     88: #define PIT_ACCEL       2   /* Get Accelerator table information */
                     89: BOOL EXPENTRY SpySetPIDIntercept(PID, USHORT, ULONG);
                     90: USHORT EXPENTRY SpyGetPIDInterceptData(PVOID, USHORT, PMRESULT);

unix.superglobalmegacorp.com

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