ReactOS 0.4.15-dev-7887-g64a59a1
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 }
Definition: File.h:16
static __inline VOID MxQueryTickCount(__out PLARGE_INTEGER TickCount)
Definition: mxgeneralkm.h:116
#define NULL
Definition: types.h:112
#define FALSE
Definition: types.h:117
LARGE_INTEGER TimeLocked
FxTagTrackingStackFrames * StackFrames
struct FxTagTrackingBlock * Next
Definition: ncftp.h:79
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
Definition: wdfdevice.h:4065

◆ ~FxTagTrackingBlock()

FxTagTrackingBlock::~FxTagTrackingBlock ( )
inline

Definition at line 98 of file fxtagtracker.hpp.

100 {
101 if (StackFrames != NULL) {
102 delete StackFrames;
104 }
105 }

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: