Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

109 lines
3.4 KiB

  1. /*++ BUILD Version: 0001 // Increment this if a change has global effects
  2. Copyright (c) 1992 Microsoft Corporation
  3. Module Name:
  4. datasfm.h
  5. Abstract:
  6. Header file for the SFM Extensible Object data definitions
  7. This file contains definitions to construct the dynamic data
  8. which is returned by the Configuration Registry. Data from
  9. various system API calls is placed into the structures shown
  10. here.
  11. Author:
  12. Russ Blake 02/24/93
  13. Sue Adams 6/03/93
  14. Revision History:
  15. --*/
  16. #ifndef _DATASFM_H_
  17. #define _DATASFM_H_
  18. //
  19. // The routines that load these structures assume that all fields
  20. // are packed and aligned on DWORD boundries. Alpha support may
  21. // change this assumption so the pack pragma is used here to insure
  22. // the DWORD packing assumption remains valid.
  23. //
  24. #pragma pack (4)
  25. //
  26. // Extensible Object definitions
  27. //
  28. // Update the following sort of define when adding an object type.
  29. #define SFM_NUM_PERF_OBJECT_TYPES 1
  30. //----------------------------------------------------------------------------
  31. //
  32. // SFM Resource object type counter definitions.
  33. //
  34. // These are used in the counter definitions to describe the relative
  35. // position of each counter in the returned data.
  36. //
  37. #define NUM_MAXPAGD_OFFSET sizeof(PERF_COUNTER_BLOCK)
  38. #define NUM_CURPAGD_OFFSET NUM_MAXPAGD_OFFSET + sizeof(DWORD) // sizeof previous counter
  39. #define NUM_MAXNONPAGD_OFFSET NUM_CURPAGD_OFFSET + sizeof(DWORD)
  40. #define NUM_CURNONPAGD_OFFSET NUM_MAXNONPAGD_OFFSET + sizeof(DWORD)
  41. #define NUM_CURSESSIONS_OFFSET NUM_CURNONPAGD_OFFSET + sizeof(DWORD)
  42. #define NUM_MAXSESSIONS_OFFSET NUM_CURSESSIONS_OFFSET + sizeof(DWORD)
  43. #define NUM_CURFILESOPEN_OFFSET NUM_MAXSESSIONS_OFFSET + sizeof(DWORD)
  44. #define NUM_MAXFILESOPEN_OFFSET NUM_CURFILESOPEN_OFFSET + sizeof(DWORD)
  45. #define NUM_NUMFAILEDLOGINS_OFFSET NUM_MAXFILESOPEN_OFFSET + sizeof(DWORD)
  46. #define NUM_DATAREAD_OFFSET NUM_NUMFAILEDLOGINS_OFFSET + sizeof(DWORD)
  47. #define NUM_DATAWRITTEN_OFFSET NUM_DATAREAD_OFFSET + sizeof(LARGE_INTEGER)
  48. #define NUM_DATAIN_OFFSET NUM_DATAWRITTEN_OFFSET + sizeof(LARGE_INTEGER)
  49. #define NUM_DATAOUT_OFFSET NUM_DATAIN_OFFSET + sizeof(LARGE_INTEGER)
  50. #define NUM_CURQUEUELEN_OFFSET NUM_DATAOUT_OFFSET + sizeof(LARGE_INTEGER)
  51. #define NUM_MAXQUEUELEN_OFFSET NUM_CURQUEUELEN_OFFSET + sizeof(DWORD)
  52. #define NUM_CURTHREADS_OFFSET NUM_MAXQUEUELEN_OFFSET + sizeof(DWORD)
  53. #define NUM_MAXTHREADS_OFFSET NUM_CURTHREADS_OFFSET + sizeof(DWORD)
  54. #define SIZE_OF_SFM_PERFORMANCE_DATA \
  55. NUM_MAXTHREADS_OFFSET + sizeof(DWORD)
  56. //
  57. // This is the counter structure presently returned by Sfm for
  58. // each Resource. Each Resource is an Instance, named by its number.
  59. // (Sfm has no instances)
  60. //
  61. typedef struct _SFM_DATA_DEFINITION {
  62. PERF_OBJECT_TYPE SfmObjectType;
  63. PERF_COUNTER_DEFINITION MaxPagdMem;
  64. PERF_COUNTER_DEFINITION CurPagdMem;
  65. PERF_COUNTER_DEFINITION MaxNonPagdMem;
  66. PERF_COUNTER_DEFINITION CurNonPagdMem;
  67. PERF_COUNTER_DEFINITION CurSessions;
  68. PERF_COUNTER_DEFINITION MaxSessions;
  69. PERF_COUNTER_DEFINITION CurFilesOpen;
  70. PERF_COUNTER_DEFINITION MaxFilesOpen;
  71. PERF_COUNTER_DEFINITION FailedLogins;
  72. PERF_COUNTER_DEFINITION DataRead;
  73. PERF_COUNTER_DEFINITION DataWritten;
  74. PERF_COUNTER_DEFINITION DataIn;
  75. PERF_COUNTER_DEFINITION DataOut;
  76. PERF_COUNTER_DEFINITION CurQueueLen;
  77. PERF_COUNTER_DEFINITION MaxQueueLen;
  78. PERF_COUNTER_DEFINITION CurThreads;
  79. PERF_COUNTER_DEFINITION MaxThreads;
  80. } SFM_DATA_DEFINITION;
  81. #pragma pack ()
  82. #endif //_DATASFM_H_
  83.