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.

99 lines
3.1 KiB

  1. /*++
  2. Copyright (c) 1996 Microsoft Corporation
  3. Module Name:
  4. DATAHEAP.h
  5. Abstract:
  6. Header file for the Windows NT heap Performance 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. Adrian Marinescu 9-Mar-2000
  13. Revision History:
  14. --*/
  15. #ifndef _DATAHEAP_H_
  16. #define _DATAHEAP_H_
  17. //
  18. // This is the counter structure presently returned by NT. The
  19. // Performance Monitor MUST *NOT* USE THESE STRUCTURES!
  20. //
  21. typedef struct _HEAP_DATA_DEFINITION {
  22. PERF_OBJECT_TYPE HeapObjectType;
  23. PERF_COUNTER_DEFINITION CommittedBytes;
  24. PERF_COUNTER_DEFINITION ReservedBytes;
  25. PERF_COUNTER_DEFINITION VirtualBytes;
  26. PERF_COUNTER_DEFINITION FreeSpace;
  27. PERF_COUNTER_DEFINITION FreeListLength;
  28. PERF_COUNTER_DEFINITION AllocTime;
  29. PERF_COUNTER_DEFINITION FreeTime;
  30. PERF_COUNTER_DEFINITION UncommitedRangesLength;
  31. PERF_COUNTER_DEFINITION DiffOperations;
  32. PERF_COUNTER_DEFINITION LookasideAllocs;
  33. PERF_COUNTER_DEFINITION LookasideFrees;
  34. PERF_COUNTER_DEFINITION SmallAllocs;
  35. PERF_COUNTER_DEFINITION SmallFrees;
  36. PERF_COUNTER_DEFINITION MedAllocs;
  37. PERF_COUNTER_DEFINITION MedFrees;
  38. PERF_COUNTER_DEFINITION LargeAllocs;
  39. PERF_COUNTER_DEFINITION LargeFrees;
  40. PERF_COUNTER_DEFINITION TotalAllocs;
  41. PERF_COUNTER_DEFINITION TotalFrees;
  42. PERF_COUNTER_DEFINITION LookasideBlocks;
  43. PERF_COUNTER_DEFINITION LargestLookasideDepth;
  44. PERF_COUNTER_DEFINITION BlockFragmentation;
  45. PERF_COUNTER_DEFINITION VAFragmentation;
  46. PERF_COUNTER_DEFINITION LockContention;
  47. } HEAP_DATA_DEFINITION, *PHEAP_DATA_DEFINITION;
  48. typedef struct _HEAP_COUNTER_DATA {
  49. PERF_COUNTER_BLOCK CounterBlock;
  50. LONG Reserved1; // for alignment of longlongs
  51. ULONGLONG CommittedBytes;
  52. ULONGLONG ReservedBytes;
  53. ULONGLONG VirtualBytes;
  54. ULONGLONG FreeSpace;
  55. LONG FreeListLength;
  56. LONG Reserved2; // for alignment of longlongs
  57. LONGLONG AllocTime;
  58. LONGLONG FreeTime;
  59. ULONG UncommitedRangesLength;
  60. ULONG DiffOperations;
  61. ULONG LookasideAllocs;
  62. ULONG LookasideFrees;
  63. ULONG SmallAllocs;
  64. ULONG SmallFrees;
  65. ULONG MedAllocs;
  66. ULONG MedFrees;
  67. ULONG LargeAllocs;
  68. ULONG LargeFrees;
  69. ULONG TotalAllocs;
  70. ULONG TotalFrees;
  71. ULONG LookasideBlocks;
  72. ULONG LargestLookasideDepth;
  73. ULONG BlockFragmentation;
  74. ULONG VAFragmentation;
  75. ULONG LockContention;
  76. ULONG Reserved3;
  77. } HEAP_COUNTER_DATA, *PHEAP_COUNTER_DATA;
  78. extern HEAP_DATA_DEFINITION HeapDataDefinition;
  79. #endif // _DATAHEAP_H_