home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / perf.inc < prev    next >
Text File  |  1998-04-25  |  3KB  |  98 lines

  1. MAXNAMELEN    EQU    50
  2. MAXCOMPLEXSUBSTAT    EQU    8
  3.  
  4. perf_server_0    STRUC
  5. psrv0_Level    DD    ?
  6. psrv0_Flags    DD    ?
  7. psrv0_pszServerName    DD    ?
  8. psrv0_pszServerNodeName    DD    ?
  9. psrv0_pControlFunc    DD    ?
  10. perf_server_0    ENDS
  11.  
  12. perf_stat_0    STRUC
  13. pst0_Level    DD    ?
  14. pst0_Flags    DD    ?
  15. pst0_pszStatName    DD    ?
  16. pst0_pszStatNodeName    DD    ?
  17. pst0_pszStatUnitName    DD    ?
  18. pst0_pszStatDescription    DD    ?
  19. pst0_pStatFunc    DD    ?
  20. perf_stat_0    ENDS
  21. PSTF_FUNCPTR    EQU    00000001H
  22. PSTF_RATE    EQU    00000002H
  23. PSTF_FREQ_HIGH    EQU    00000000H
  24. PSTF_FREQ_LOW    EQU    00000004H
  25. PSTF_FREQ_STATIC    EQU    00000008H
  26. PSTF_FREQ_MASK    EQU    (PSTF_FREQ_STATIC OR PSTF_FREQ_LOW OR PSTF_FREQ_HIGH)
  27. PSTF_SCALE_LINEAR    EQU    00000000H
  28. PSTF_SCALE_LOG10    EQU    00000010H
  29. PSTF_SCALE_LOG2    EQU    00000020H
  30. PSTF_SCALE_MASK    EQU    (PSTF_SCALE_LINEAR OR PSTF_SCALE_LOG10 OR PSTF_SCALE_LOG2)
  31.  
  32. IOCTL_PERF_GET_STATS     EQU    10H
  33. IOCTL_PERF_START_STAT   EQU    11H
  34. IOCTL_PERF_STOP_STAT    EQU    12H
  35.  
  36. PMSG_START_STAT        EQU     11H
  37. PMSG_STOP_STAT        EQU     12H
  38.  
  39. Reg_Perf_Srv MACRO level:REQ, flags:REQ, servername:REQ, nodename:REQ, controlfunc:REQ
  40.     local    nothere
  41.     VxDcall    PERF_Get_Version
  42.     or    eax, eax
  43.     jz    nothere
  44.     push    OFFSET32 controlfunc
  45.     push    OFFSET32 nodename
  46.     push    OFFSET32 servername
  47.     push    flags
  48.         push    level
  49.     push    esp
  50.     VxDcall    PERF_Server_Register
  51.     add    esp, 6*4
  52. nothere:
  53.     ENDM
  54.  
  55. Reg_Perf_Stat MACRO srvhandle:REQ, level:REQ, flags:REQ, name:REQ, nodename:REQ, unitname:REQ, desc:REQ, func:REQ
  56.     push    OFFSET32 func
  57.     push    OFFSET32 desc
  58.     push    OFFSET32 unitname
  59.     push    OFFSET32 nodename
  60.     push    OFFSET32 name
  61.     push    flags
  62.     push    level
  63.     push    esp
  64.     push    srvhandle
  65.     VxDcall    PERF_Server_Add_Stat
  66.     add    esp, 9*4
  67.     ENDM
  68.  
  69. Begin_Service_Table PERF
  70. PERF_Service PERF_Get_Version, LOCAL
  71. PERF_Service PERF_Server_Register, LOCAL
  72. PERF_Service PERF_Server_Deregister, LOCAL
  73. PERF_Service PERF_Server_Add_Stat, LOCAL
  74. PERF_Service PERF_Server_Remove_Stat, LOCAL
  75. End_Service_Table PERF
  76.  
  77.  
  78. HKEY_PERF_ROOT    EQU    <HKEY_LOCAL_MACHINE>
  79. PERF_REG_KEY    EQU    <"STATS">
  80. PERF_REG_NAME_SRV_NAME    EQU    <"NAME">
  81. PERF_REG_NAME_STAT_NAME    EQU    <"NAME">
  82. PERF_REG_NAME_STAT_FREQ    EQU    <"FREQUENCY">
  83. PERF_REG_NAME_STAT_HANDLE    EQU    <"HANDLE">
  84. PERF_REG_NAME_STAT_DESC    EQU    <"DESCRIPTION">
  85. PERF_REG_NAME_STAT_VALUE    EQU    <"VALUE">
  86. PERF_REG_NAME_STAT_DIFF    EQU    <"DIFFERENTIATE">
  87. PERF_REG_NAME_STAT_SCALETYPE    EQU    <"SCALETYPE">
  88. PERF_REG_NAME_STAT_STARTSCALE    EQU    <"STARTSCALE">
  89. PERF_REG_VAL_STAT_TRUE    EQU    <"TRUE">
  90. PERF_REG_VAL_STAT_FALSE    EQU    <"FALSE">
  91. PERF_REG_VAL_STAT_HIGH    EQU    <"HIGH">
  92. PERF_REG_VAL_STAT_LOW    EQU    <"LOW">
  93. PERF_REG_VAL_STAT_LINEAR    EQU    <"LINEAR">
  94. PERF_REG_VAL_STAT_LOG10    EQU    <"LOG10">
  95. PERF_STAT_PREFIX    EQU    <"STAT">
  96. PSTF_INT_COMPLEX    EQU    00000010H
  97. PSTF_EXT_COMPLEX    EQU    00000020H
  98.