ViKeRaiseIrqlSanityChecks
_VI_TRACK_IRQL *__stdcall ViKeRaiseIrqlSanityChecks(UINT8 NewIrql, UINT64 DisableChecks, UINT64 a3){
ULONG_PTR v3;
unsigned __int8 CurrentIrql;
_VI_TRACK_IRQL *v6;
_BYTE *v7;
char v8;
UINT64 v9;
v3 = NewIrql;
if( (MmVerifierData & 0x400000) != 0 && (MmVerifierData & 2) == 0 )
return 0i64;
CurrentIrql = KeGetCurrentIrql();
if( (MmVerifierData & 2) != 0 )
{
if( CurrentIrql > NewIrql && !(_DWORD)DisableChecks )
VerifierBugCheckIfAppropriate(0xC4ui64, 0x30u, CurrentIrql, NewIrql, 0, v9);
if( (unsigned __int8)v3 > 0xFu )
VerifierBugCheckIfAppropriate(0xC4ui64, 0x30u, CurrentIrql, v3, 0, v9);
}
if( (MmVerifierData & 0x400000) != 0 && (VfFlightOptions & 9) == 0 )
return 0i64;
v6 = VfKeIrqlTransitionReserveLogEntry(CurrentIrql, v3);
ViKeIrqlLogCommon(v6, 2ui64);
if( (MmVerifierData & 2) != 0 )
{
KeAreInterruptsEnabled(MmVerifierData, v7);
if( v8 )
{
if( CurrentIrql < 2u && (unsigned __int8)v3 >= 2u )
MmVerifierTrimMemory();
}
}
return v6;
}Referenced by:
VerifierKeAcquireInStackQueuedSpinLockCommon
VerifierKeAcquireInStackQueuedSpinLockRaiseToSynchCommon
VerifierKeAcquireQueuedSpinLock
VerifierKeAcquireQueuedSpinLockRaiseToSynch
VerifierKeRaiseIrqlToDpcLevel
VerifierKeSynchronizeExecution
VerifierKeTryToAcquireQueuedSpinLock
VerifierKeTryToAcquireQueuedSpinLockRaiseToSynch
VerifierKfRaiseIrql
VerifierPortKeAcquireSpinLock
VerifierPortKeAcquireSpinLockNoXdv
ViKeAcquireSpinLockRaiseToDpcCommon