ViTargetFreeContiguousMemory
VOID __stdcall ViTargetFreeContiguousMemory(PVOID CallerAddress, PVOID p){
int v3;
UINT64 v4;
_VF_TARGET_DRIVER *v5;
__int64 v6;
__int128 v7;
v7 = 0i64;
if( (unsigned int)ViTargetUpdateTreeAllowed() )
{
VfAvlInitializeLockContext((INT64)&v7, 0i64);
v5 = (_VF_TARGET_DRIVER *)VfAvlLookupTreeNode(&ViTargetDriversAvl, (INT64)&v7, v4, (unsigned int)(v3 + 1));
if( !v5 || !(unsigned int)ViTargetFreeContiguousMemoryFromNode(p, v5) )
VfAvlEnumerateNodes(
v6,
(__int64)&v7,
(unsigned int(__fastcall *)(PVOID, __int64))ViTargetFreeContiguousMemoryCallback,
(__int64)p);
VfAvlCleanupLockContext((INT64)&v7);
}
}Referenced by:
VerifierMmFreeContiguousMemory
VerifierMmFreeContiguousMemorySpecifyCache
VerifierMmFreeNonCachedMemory