VfDeadlockAfterCallDriver
VOID __stdcall VfDeadlockAfterCallDriver(UINT64 PagingIrp){
_ETHREAD *CurrentThread;
UINT8 v2;
_VI_DEADLOCK_THREAD *v3;
if( (_DWORD)PagingIrp && ViDeadlockDetectionEnabled && (unsigned int)KeNumberProcessors_0 <= 4 )
{
CurrentThread = (_ETHREAD *)KeGetCurrentThread();
v2 = ViRaiseIrqlToDpcLevel();
ViDeadlockDetectionLock(0i64);
v3 = ViDeadlockSearchThread(&CurrentThread->Tcb);
if( v3 )
_InterlockedDecrement((volatile signed __int32 *)&v3->PagingCount);
ViDeadlockDetectionUnlock(0i64);
ViLowerIrql(v2);
}
}Referenced by:
VfAfterCallDriver