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.

93 lines
1.3 KiB

  1. /*++
  2. Copyright (c) 1998 Microsoft Corporation
  3. Module Name:
  4. reftrace.h
  5. Abstract:
  6. This module contains public declarations and definitions for tracing
  7. and debugging reference count problems. This module uses the generic
  8. TRACE_LOG facility in tracelog.h.
  9. Ref count trace logs can be dumped via the !inetdbg.ref command
  10. in either NTSD or CDB.
  11. Author:
  12. Keith Moore (keithmo) 01-May-1997
  13. Revision History:
  14. --*/
  15. #ifndef _REFTRACE_H_
  16. #define _REFTRACE_H_
  17. #if defined(__cplusplus)
  18. extern "C" {
  19. #endif // __cplusplus
  20. #include <tracelog.h>
  21. //
  22. // This defines the entry written to the trace log.
  23. //
  24. typedef struct _REF_TRACE_LOG_ENTRY {
  25. PVOID Object;
  26. ULONG Operation;
  27. PSTR FileName;
  28. ULONG LineNumber;
  29. //
  30. // Stuff from the OBJECT_HEADER.
  31. //
  32. LONG PointerCount;
  33. LONG HandleCount;
  34. POBJECT_TYPE Type;
  35. PVOID Header;
  36. } REF_TRACE_LOG_ENTRY, *PREF_TRACE_LOG_ENTRY;
  37. //
  38. // Manipulators.
  39. //
  40. PTRACE_LOG
  41. CreateRefTraceLog(
  42. IN LONG LogSize,
  43. IN LONG ExtraBytesInHeader
  44. );
  45. VOID
  46. DestroyRefTraceLog(
  47. IN PTRACE_LOG Log
  48. );
  49. VOID
  50. WriteRefTraceLog(
  51. IN PTRACE_LOG Log,
  52. IN PVOID Object,
  53. IN ULONG Operation,
  54. IN PSTR FileName,
  55. IN ULONG LineNumber
  56. );
  57. #if defined(__cplusplus)
  58. } // extern "C"
  59. #endif // __cplusplus
  60. #endif // _REFTRACE_H_