ReactOS  0.4.15-dev-3453-gff89651
FxTagTrackingBlock Struct Reference

#include <fxtagtracker.hpp>

Inheritance diagram for FxTagTrackingBlock:
Collaboration diagram for FxTagTrackingBlock:

Public Member Functions

 FxTagTrackingBlock (__in PVOID Tag, __in LONG Line, __in_opt PSTR File, __in_opt BOOLEAN Initial=FALSE)
 
 ~FxTagTrackingBlock ()
 
- Public Member Functions inherited from FxStump
PVOID operator new (__in size_t Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals)
 
PVOID operator new (__in size_t Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals, __in POOL_TYPE PoolType)
 
VOID operator delete (__in PVOID pointer)
 
PVOID operator new[] (__in size_t Size, __in PFX_DRIVER_GLOBALS FxDriverGlobals)
 
VOID operator delete[] (__in PVOID pointer)
 

Public Attributes

struct FxTagTrackingBlockNext
 
PVOID Tag
 
PCHAR File
 
LONG Line
 
LARGE_INTEGER TimeLocked
 
FxTagTrackingStackFramesStackFrames
 

Additional Inherited Members

- Protected Member Functions inherited from FxStump
 FxStump (VOID)
 

Detailed Description

Definition at line 65 of file fxtagtracker.hpp.

Constructor & Destructor Documentation

◆ FxTagTrackingBlock()

FxTagTrackingBlock::FxTagTrackingBlock ( __in PVOID  Tag,
__in LONG  Line,
__in_opt PSTR  File,
__in_opt BOOLEAN  Initial = FALSE 
)
inline

Definition at line 67 of file fxtagtracker.hpp.

72  :
73  Tag(Tag),
74  Line(Line),
75  File(File),
77  Next(NULL)
78  {
80 
81  if (Initial == FALSE) {
82  //
83  // !wdftagtracker identifies a reference with Line == 0
84  // as the initial reference. However, references taken
85  // in framework code may leave the File/Line empty yet
86  // not be the initial references. They could still
87  // capture stack frames, so they are useful to track.
88  //
89  // Leaving File == NULL but setting Line = 1 unless this
90  // was explicitly labeled an Initial Ref works around this.
91  //
92  if (File == NULL && Line == 0) {
93  this->Line = 1;
94  }
95  }
96  }
FxTagTrackingStackFrames * StackFrames
static __inline VOID MxQueryTickCount(__out PLARGE_INTEGER TickCount)
Definition: mxgeneralkm.h:116
#define FALSE
Definition: types.h:117
struct FxTagTrackingBlock * Next
LARGE_INTEGER TimeLocked
Definition: ncftp.h:79
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
Definition: wdfdevice.h:4061
#define NULL
Definition: types.h:112
Definition: File.h:15

◆ ~FxTagTrackingBlock()

FxTagTrackingBlock::~FxTagTrackingBlock ( )
inline

Definition at line 98 of file fxtagtracker.hpp.

100  {
101  if (StackFrames != NULL) {
102  delete StackFrames;
103  StackFrames = NULL;
104  }
105  }
FxTagTrackingStackFrames * StackFrames
#define NULL
Definition: types.h:112

Member Data Documentation

◆ File

PCHAR FxTagTrackingBlock::File

Definition at line 109 of file fxtagtracker.hpp.

◆ Line

LONG FxTagTrackingBlock::Line

Definition at line 110 of file fxtagtracker.hpp.

◆ Next

struct FxTagTrackingBlock* FxTagTrackingBlock::Next

Definition at line 107 of file fxtagtracker.hpp.

Referenced by FxTagTracker::UpdateTagHistory().

◆ StackFrames

FxTagTrackingStackFrames* FxTagTrackingBlock::StackFrames

Definition at line 112 of file fxtagtracker.hpp.

Referenced by FxTagTracker::UpdateTagHistory(), and ~FxTagTrackingBlock().

◆ Tag

PVOID FxTagTrackingBlock::Tag

Definition at line 108 of file fxtagtracker.hpp.

Referenced by FxTagTracker::UpdateTagHistory().

◆ TimeLocked

LARGE_INTEGER FxTagTrackingBlock::TimeLocked

Definition at line 111 of file fxtagtracker.hpp.

Referenced by FxTagTrackingBlock().


The documentation for this struct was generated from the following file: