25#define DLDAllocatePool(size) MyAllocatePool__(NonPagedPool,size)
26#define DLDFreePool(addr) MyFreePool__((addr))
28#define DLDGetCurrentResourceThread() \
29 ((ERESOURCE_THREAD)PsGetCurrentThread())
31#ifndef ResourceOwnedExclusive
32#define ResourceOwnedExclusive 0x80
34#define ResourceDisableBoost 0x08
_Acquires_exclusive_lock_ Resource _Acquires_shared_lock_ Resource _Inout_ PERESOURCE Resource
struct _THREAD_REC_BLOCK * PTHREAD_REC_BLOCK
struct _THREAD_STRUCT * PTHREAD_STRUCT
struct _THREAD_STRUCT THREAD_STRUCT
struct _THREAD_REC_BLOCK THREAD_REC_BLOCK
VOID DLDAcquireShared(PERESOURCE Resource, ULONG BugCheckId, ULONG Line, BOOLEAN WaitForExclusive)
VOID DLDAcquireSharedStarveExclusive(PERESOURCE Resource, ULONG BugCheckId, ULONG Line)
VOID DLDAcquireExclusive(PERESOURCE Resource, ULONG BugCheckId, ULONG Line)
VOID DLDInit(ULONG MaxThrdCount)
Initialize deadlock detector.
VOID DLDUnblock(PERESOURCE Resource)
PERESOURCE HoldingResource
ERESOURCE_THREAD ThreadId
PERESOURCE WaitingResource
ULONG_PTR ERESOURCE_THREAD