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.

105 lines
1.7 KiB

  1. /*++
  2. Copyright (c) 2000 Microsoft Corporation
  3. Module Name:
  4. perfp.h
  5. Abstract:
  6. This module contains the definitions of data structures and macros
  7. used by kernel-mode logging in the performance data event log.
  8. Author:
  9. David Fields (DavidFie)
  10. Revision History:
  11. 5/15/2000 David Fields (DavidFie)
  12. Initial
  13. --*/
  14. #ifndef _PERFP_
  15. #define _PERFP_
  16. #if _MSC_VER >= 1000
  17. #pragma once
  18. #endif
  19. #include "ntos.h"
  20. #pragma warning(error:4100) // Unreferenced formal parameter
  21. #pragma warning(error:4101) // Unreferenced local variable
  22. #pragma warning(error:4705) // Statement has no effect
  23. //
  24. // Profiling structures
  25. //
  26. extern KPROFILE PerfInfoProfileObject;
  27. extern PERFINFO_SAMPLED_PROFILE_CACHE PerfProfileCache;
  28. extern BOOLEAN PerfInfoSampledProfileCaching;
  29. extern KPROFILE_SOURCE PerfInfoProfileSourceActive;
  30. extern KPROFILE_SOURCE PerfInfoProfileSourceRequested;
  31. extern KPROFILE_SOURCE PerfInfoProfileInterval;
  32. extern ULONG PerfInfoSampledProfileFlushInProgress;
  33. extern PERFINFO_GROUPMASK PerfGlobalGroupMask;
  34. #define PERFPOOLTAG 'freP'
  35. NTSTATUS
  36. PerfInfoReserveBytesWMI(
  37. PPERFINFO_HOOK_HANDLE Hook,
  38. USHORT HookId,
  39. ULONG BytesToReserve
  40. );
  41. NTSTATUS
  42. PerfInfoFileNameRunDown(
  43. );
  44. NTSTATUS
  45. PerfInfoProcessRunDown(
  46. );
  47. NTSTATUS
  48. PerfInfoSysModuleRunDown(
  49. );
  50. VOID
  51. PerfInfoProfileInit(
  52. );
  53. VOID
  54. PerfInfoProfileUninit(
  55. );
  56. #ifdef NTPERF
  57. extern ULONGLONG PerfInfoTickFrequency;
  58. NTSTATUS
  59. PerfInfoReserveBytesPerfMem(
  60. PPERFINFO_HOOK_HANDLE Hook,
  61. USHORT HookId,
  62. ULONG BytesToReserve
  63. );
  64. NTSTATUS
  65. PerfTurnOnBranchTracing(
  66. );
  67. NTSTATUS
  68. PerfTurnOffBranchTracing(
  69. );
  70. BOOLEAN
  71. PerfInfoFlushBranchCache(
  72. BOOLEAN bIntsOff
  73. );
  74. #endif // NTPERF
  75. #endif // _PERFP_