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.

94 lines
1.6 KiB

  1. /*++
  2. Copyright (c) 1998 Microsoft Corporation
  3. Module Name:
  4. grovperf.h
  5. Abstract:
  6. SIS Groveler performance DLL primary include file
  7. Authors:
  8. John Douceur, 1998
  9. Environment:
  10. User Mode
  11. Revision History:
  12. --*/
  13. #ifndef _INC_GROVPERF
  14. #define _INC_GROVPERF
  15. #define WIN32_LEAN_AND_MEAN 1
  16. extern "C" DWORD CALLBACK OpenGrovelerPerformanceData(LPWSTR lpDeviceNames);
  17. extern "C" DWORD WINAPI CloseGrovelerPerformanceData();
  18. extern "C" DWORD WINAPI CollectGrovelerPerformanceData(
  19. LPWSTR lpwszValue,
  20. LPVOID *lppData,
  21. LPDWORD lpcbBytes,
  22. LPDWORD lpcObjectTypes);
  23. int space_needed_for_data(
  24. int num_partitions);
  25. void build_part_object_info_block(
  26. LPVOID *lppData,
  27. int num_partitions,
  28. int data_size);
  29. void build_part_instance_info_block(
  30. LPVOID *lppData,
  31. int partition_index,
  32. SharedDataRecord *records);
  33. void build_total_instance_info_block(
  34. LPVOID *lppData,
  35. int num_partitions,
  36. SharedDataRecord *records);
  37. #pragma pack (8)
  38. const int partition_name_length = 32;
  39. const int total_name_length = 7;
  40. struct PartitionData
  41. {
  42. PERF_COUNTER_BLOCK counter_block;
  43. LARGE_INTEGER counter[num_perf_counters];
  44. };
  45. struct PartitionObjectInformationBlock
  46. {
  47. PERF_OBJECT_TYPE object_type;
  48. PERF_COUNTER_DEFINITION definition[num_perf_counters];
  49. };
  50. struct PartitionInstanceInformationBlock
  51. {
  52. PERF_INSTANCE_DEFINITION instance_def;
  53. _TCHAR instance_name[partition_name_length];
  54. PartitionData partition_data;
  55. };
  56. struct TotalInstanceInformationBlock
  57. {
  58. PERF_INSTANCE_DEFINITION instance_def;
  59. _TCHAR instance_name[total_name_length];
  60. PartitionData partition_data;
  61. };
  62. #pragma pack ()
  63. #endif /* _INC_GROVPERF */