Leaked source code of windows server 2003
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.

120 lines
2.3 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. #pragma warning(error:4100) // Unreferenced formal parameter
  20. #pragma warning(error:4101) // Unreferenced local variable
  21. #pragma warning(error:4705) // Statement has no effect
  22. #pragma warning(disable:4214) // bit field types other than int
  23. #pragma warning(disable:4201) // nameless struct/union
  24. #pragma warning(disable:4127) // condition expression is constant
  25. #pragma warning(disable:4115) // named type definition in parentheses
  26. #if 0
  27. #pragma warning(disable:4324) // alignment sensitive to declspec
  28. #pragma warning(disable:4232) // dllimport not static
  29. #pragma warning(disable:4206) // translation unit empty
  30. #endif
  31. #include "ntos.h"
  32. //
  33. // Profiling structures
  34. //
  35. extern KPROFILE PerfInfoProfileObject;
  36. extern PERFINFO_SAMPLED_PROFILE_CACHE PerfProfileCache;
  37. extern BOOLEAN PerfInfoSampledProfileCaching;
  38. extern KPROFILE_SOURCE PerfInfoProfileSourceActive;
  39. extern KPROFILE_SOURCE PerfInfoProfileSourceRequested;
  40. extern KPROFILE_SOURCE PerfInfoProfileInterval;
  41. extern LONG PerfInfoSampledProfileFlushInProgress;
  42. extern PERFINFO_GROUPMASK PerfGlobalGroupMask;
  43. #define PERFPOOLTAG 'freP'
  44. NTSTATUS
  45. PerfInfoReserveBytesWMI(
  46. PPERFINFO_HOOK_HANDLE Hook,
  47. USHORT HookId,
  48. ULONG BytesToReserve
  49. );
  50. NTSTATUS
  51. PerfInfoFileNameRunDown(
  52. );
  53. NTSTATUS
  54. PerfInfoProcessRunDown(
  55. );
  56. NTSTATUS
  57. PerfInfoSysModuleRunDown(
  58. );
  59. VOID
  60. PerfInfoProfileInit(
  61. );
  62. VOID
  63. PerfInfoProfileUninit(
  64. );
  65. #ifdef NTPERF
  66. extern ULONGLONG PerfInfoTickFrequency;
  67. NTSTATUS
  68. PerfInfoReserveBytesPerfMem(
  69. PPERFINFO_HOOK_HANDLE Hook,
  70. USHORT HookId,
  71. ULONG BytesToReserve
  72. );
  73. NTSTATUS
  74. PerfTurnOnBranchTracing(
  75. );
  76. NTSTATUS
  77. PerfTurnOffBranchTracing(
  78. );
  79. BOOLEAN
  80. PerfInfoFlushBranchCache(
  81. BOOLEAN bIntsOff
  82. );
  83. #endif // NTPERF
  84. VOID
  85. PerfSetLogging (
  86. PVOID MaskAddress
  87. );
  88. #endif // _PERFP_