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.

114 lines
3.9 KiB

  1. /*++
  2. Copyright (c) 1996 Microsoft Corporation
  3. Module Name:
  4. DATAPROC.h
  5. Abstract:
  6. Header file for the Windows NT Processor Process counters.
  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. Bob Watson 28-Oct-1996
  13. Revision History:
  14. --*/
  15. #ifndef _DATAPROC_H_
  16. #define _DATAPROC_H_
  17. #ifdef _DATAPROC_PRIVATE_WS_
  18. #undef _DATAPROC_PRIVATE_WS_
  19. #endif
  20. //
  21. // Process data object definitions.
  22. //
  23. //
  24. // This is the counter structure presently returned by NT. The
  25. // Performance Monitor MUST *NOT* USE THESE STRUCTURES!
  26. //
  27. typedef struct _PROCESS_DATA_DEFINITION {
  28. PERF_OBJECT_TYPE ProcessObjectType;
  29. PERF_COUNTER_DEFINITION cdProcessorTime;
  30. PERF_COUNTER_DEFINITION cdUserTime;
  31. PERF_COUNTER_DEFINITION cdKernelTime;
  32. PERF_COUNTER_DEFINITION cdPeakVirtualSize;
  33. PERF_COUNTER_DEFINITION cdVirtualSize;
  34. PERF_COUNTER_DEFINITION cdPageFaults;
  35. PERF_COUNTER_DEFINITION cdPeakWorkingSet;
  36. PERF_COUNTER_DEFINITION cdTotalWorkingSet;
  37. #ifdef _DATAPROC_PRIVATE_WS_
  38. PERF_COUNTER_DEFINITION cdPrivateWorkingSet;
  39. PERF_COUNTER_DEFINITION cdSharedWorkingSet;
  40. #endif
  41. PERF_COUNTER_DEFINITION cdPeakPageFile;
  42. PERF_COUNTER_DEFINITION cdPageFile;
  43. PERF_COUNTER_DEFINITION cdPrivatePages;
  44. PERF_COUNTER_DEFINITION cdThreadCount;
  45. PERF_COUNTER_DEFINITION cdBasePriority;
  46. PERF_COUNTER_DEFINITION cdElapsedTime;
  47. PERF_COUNTER_DEFINITION cdProcessId;
  48. PERF_COUNTER_DEFINITION cdCreatorProcessId;
  49. PERF_COUNTER_DEFINITION cdPagedPool;
  50. PERF_COUNTER_DEFINITION cdNonPagedPool;
  51. PERF_COUNTER_DEFINITION cdHandleCount;
  52. PERF_COUNTER_DEFINITION cdReadOperationCount;
  53. PERF_COUNTER_DEFINITION cdWriteOperationCount;
  54. PERF_COUNTER_DEFINITION cdDataOperationCount;
  55. PERF_COUNTER_DEFINITION cdOtherOperationCount;
  56. PERF_COUNTER_DEFINITION cdReadTransferCount;
  57. PERF_COUNTER_DEFINITION cdWriteTransferCount;
  58. PERF_COUNTER_DEFINITION cdDataTransferCount;
  59. PERF_COUNTER_DEFINITION cdOtherTransferCount;
  60. } PROCESS_DATA_DEFINITION, * PPROCESS_DATA_DEFINITION;
  61. typedef struct _PROCESS_COUNTER_DATA {
  62. PERF_COUNTER_BLOCK CounterBlock;
  63. DWORD PageFaults;
  64. LONGLONG ProcessorTime;
  65. LONGLONG UserTime;
  66. LONGLONG KernelTime;
  67. LONGLONG PeakVirtualSize;
  68. LONGLONG VirtualSize;
  69. LONGLONG PeakWorkingSet;
  70. LONGLONG TotalWorkingSet;
  71. #ifdef _DATAPROC_PRIVATE_WS_
  72. DWORD PrivateWorkingSet;
  73. DWORD SharedWorkingSet;
  74. #endif
  75. LONGLONG PeakPageFile;
  76. LONGLONG PageFile;
  77. LONGLONG PrivatePages;
  78. DWORD ThreadCount;
  79. DWORD BasePriority;
  80. LONGLONG ElapsedTime;
  81. DWORD ProcessId;
  82. DWORD CreatorProcessId;
  83. DWORD PagedPool;
  84. DWORD NonPagedPool;
  85. DWORD HandleCount;
  86. DWORD Reserved; // for alignment
  87. LONGLONG ReadOperationCount;
  88. LONGLONG WriteOperationCount;
  89. LONGLONG DataOperationCount;
  90. LONGLONG OtherOperationCount;
  91. LONGLONG ReadTransferCount;
  92. LONGLONG WriteTransferCount;
  93. LONGLONG DataTransferCount;
  94. LONGLONG OtherTransferCount;
  95. } PROCESS_COUNTER_DATA, * PPROCESS_COUNTER_DATA;
  96. extern PROCESS_DATA_DEFINITION ProcessDataDefinition;
  97. #endif // _DATAPROC_H_