45 if (pHistory !=
NULL) {
56FxSpinLock::AcquireLock(
69 if (pHistory !=
NULL) {
82 pCur->CallersAddress = CallersAddress;
88FxSpinLock::ReleaseLock(
96 if (pHistory !=
NULL) {
104 "WDFSPINLOCK %p being released by thread 0x%p, but was "
110 "WDFSPINLOCK 0x%p not owned by thread 0x%p, owned by thread 0x%p",
130 pCur->LockedDuraction =
now.QuadPart -
pCur->AcquiredAtTime.QuadPart;
__inline PFX_DRIVER_GLOBALS GetDriverGlobals(VOID)
FxSpinLock(__in PFX_DRIVER_GLOBALS FxDriverGlobals, __in USHORT ExtraSize)
PFX_SPIN_LOCK_HISTORY GetHistory(VOID)
static __inline VOID MxQueryTickCount(__out PLARGE_INTEGER TickCount)
static __inline MxThread MxGetCurrentThread()
#define __drv_requiresIRQL(irql)
#define __drv_raisesIRQL(irql)
#define __drv_maxIRQL(irql)
DoTraceLevelMessage(pFxDriverGlobals, TRACE_LEVEL_VERBOSE, TRACINGPNP, "Enter, WDFDEVICE %p", Device)
return pObject GetObjectHandle()
#define COMPUTE_OBJECT_SIZE(_rawObjectSize, _extraSize)
#define FX_SPIN_LOCK_NUM_HISTORY_ENTRIES
#define FxVerifierBugCheck(FxDriverGlobals, Error,...)
#define TRACE_LEVEL_ERROR
PFX_SPIN_LOCK_HISTORY_ENTRY CurrentHistory
FX_SPIN_LOCK_HISTORY_ENTRY History[FX_SPIN_LOCK_NUM_HISTORY_ENTRIES]
#define RtlZeroMemory(Destination, Length)
@ WDF_INVALID_LOCK_OPERATION
ActualNumberDriverObjects * sizeof(PDRIVER_OBJECT)) PDRIVER_OBJECT *DriverObjectList