ObDereferenceObjectDeferDelete
VOID __stdcall ObDereferenceObjectDeferDelete(PVOID Object){
signed __int64 v2;
bool v3;
signed __int64 BugCheckParameter4;
if( ObpTraceFlags )
ObpPushStackInfo((INT64)Object - 48, 0, 1i64, 1953261124i64);
v2 = _InterlockedExchangeAdd64((volatile signed __int64 *)Object - 6, 0xFFFFFFFFFFFFFFFFui64);
v3 = v2 <= 1;
BugCheckParameter4 = v2 - 1;
if( v3 )
{
if( *((_QWORD *)Object - 5) )
KeBugCheckEx(
0x18u,
ObTypeIndexTable[(unsigned __int8)ObHeaderCookie ^ (unsigned __int8)*((char *)Object - 24) ^ (unsigned __int64)(unsigned __int8)((unsigned __int16)((_WORD)Object - 48) >> 8)],
(ULONG_PTR)Object,
3ui64,
*((_QWORD *)Object - 5));
if( BugCheckParameter4 < 0 )
KeBugCheckEx(0x18u, 0i64, (ULONG_PTR)Object, 4ui64, BugCheckParameter4);
ObpDeferObjectDeletion((INT64)Object - 48);
}
}Referenced by:
CcMapAndCopyInToCache
CmpDelayedDerefKeys
CmpFreePostBlock
CmpRunDownCmRM
ExpApplyPriorityBoost
ExpFreeOwnerEntry
ExpReleaseResourceExclusiveForThreadLite
ExpReleaseResourceSharedForThreadLite
IoReferenceIoAttributionFromThread
IoSetDiskIoAttributionFromThread
IopCompleteRequest
IopDeleteFileObjectExtension
IopSynchronousServiceTail
MiApplyHotPatchToLoadedDriver
MiCompleteProtoPteFault
MiDereferenceControlAreaFile
MiEmptyPageAccessLog
MiFinishHardFault
MiLogPageAccess
MiMakeSystemCacheRangeValid
MiObtainSectionForDriver
MiUnloadSystemImage
MmFreeAccessPfnBuffer
MmLoadSystemImageEx
NtAlpcImpersonateClientContainerOfPort
ObpDeleteDirectoryObject
PfpScenCtxScenarioSet
PfpServiceMainThreadBoostPrep
PfpServiceMainThreadUnboost
PspJobDelete