ReactOS  0.4.15-dev-2991-g632fa1c
FxCallbackLock Class Referenceabstract

#include <fxcallbacklock.hpp>

Inheritance diagram for FxCallbackLock:
Collaboration diagram for FxCallbackLock:

Public Member Functions

 FxCallbackLock (PFX_DRIVER_GLOBALS FxDriverGlobals)
 
virtual ~FxCallbackLock ()
 
virtual void Initialize (FxObject *ParentObject)=0
 
virtual void Lock (__out PKIRQL PreviousIrql)=0
 
virtual void Unlock (__in KIRQL PreviousIrql)=0
 
virtual _Must_inspect_result_ BOOLEAN IsOwner (VOID)=0
 
VOID CheckOwnership (VOID)
 
- Public Member Functions inherited from FxGlobalsStump
 FxGlobalsStump (__in PFX_DRIVER_GLOBALS FxDriverGlobals)
 
PFX_DRIVER_GLOBALS GetDriverGlobals (VOID)
 
- 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

KIRQL m_PreviousIrql
 

Protected Attributes

MxThread m_OwnerThread
 
ULONG m_RecursionCount
 
FxVerifierLockm_Verifier
 

Additional Inherited Members

- Protected Member Functions inherited from FxStump
 FxStump (VOID)
 

Detailed Description

Definition at line 49 of file fxcallbacklock.hpp.

Constructor & Destructor Documentation

◆ FxCallbackLock()

FxCallbackLock::FxCallbackLock ( PFX_DRIVER_GLOBALS  FxDriverGlobals)
inline

Definition at line 70 of file fxcallbacklock.hpp.

72  :
73  FxGlobalsStump(FxDriverGlobals)
74  {
76  m_RecursionCount = 0;
77  m_Verifier = NULL;
78  }
MxThread m_OwnerThread
FxGlobalsStump(__in PFX_DRIVER_GLOBALS FxDriverGlobals)
Definition: fxstump.hpp:90
FxVerifierLock * m_Verifier
#define NULL
Definition: types.h:112

◆ ~FxCallbackLock()

virtual FxCallbackLock::~FxCallbackLock ( )
inlinevirtual

Definition at line 80 of file fxcallbacklock.hpp.

81  {
82  }

Member Function Documentation

◆ CheckOwnership()

VOID FxCallbackLock::CheckOwnership ( VOID  )
inline

Definition at line 111 of file fxcallbacklock.hpp.

114  {
116 
118 
119  //
120  // If verify locks is on, catch drivers
121  // returning with the lock released.
122  //
124  if (IsOwner() == FALSE) {
127  "Callback: Driver released the callback lock 0x%p",
128  this);
130  }
131  }
132  }
virtual _Must_inspect_result_ BOOLEAN IsOwner(VOID)=0
#define FALSE
Definition: types.h:117
BOOLEAN FxVerifierLock
Definition: fxglobals.h:451
#define TRACINGDEVICE
Definition: dbgtrace.h:58
PFX_DRIVER_GLOBALS pFxDriverGlobals
#define TRACE_LEVEL_ERROR
Definition: storswtr.h:27
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
PFX_DRIVER_GLOBALS GetDriverGlobals(VOID)
Definition: fxstump.hpp:98
FxVerifierDbgBreakPoint(pFxDriverGlobals)

Referenced by FxCallbackSpinLock::Unlock(), and FxCallbackMutexLock::Unlock().

◆ Initialize()

virtual void FxCallbackLock::Initialize ( FxObject ParentObject)
pure virtual

◆ IsOwner()

virtual _Must_inspect_result_ BOOLEAN FxCallbackLock::IsOwner ( VOID  )
pure virtual

◆ Lock()

◆ Unlock()

Member Data Documentation

◆ m_OwnerThread

◆ m_PreviousIrql

KIRQL FxCallbackLock::m_PreviousIrql

Definition at line 66 of file fxcallbacklock.hpp.

◆ m_RecursionCount

ULONG FxCallbackLock::m_RecursionCount
protected

◆ m_Verifier


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