VerifierExInitializeLookasideListEx
__int64 __fastcall VerifierExInitializeLookasideListEx(
ULONG_PTR BugCheckParameter2,
__int64 a2,
__int64 a3,
int a4,
int a5,
ULONG_PTR BugCheckParameter3,
int a7,
__int16 a8){
int IsEnabled;
int v13;
UINT64 v15;
VOID *retaddr;
IsEnabled = VfTargetDriversIsEnabled(retaddr);
if( IsEnabled )
{
VfCheckPoolType((_POOL_TYPE)a4, retaddr, (unsigned int)a7);
if( BugCheckParameter3 < 8 && (MmVerifierData & 1) != 0 )
VerifierBugCheckIfAppropriate(0xC4ui64, 0xCDui64, BugCheckParameter2, BugCheckParameter3, 8ui64, v15);
VfUtilSynchronizationObjectSanityChecks((PVOID)BugCheckParameter2, 0x60ui64);
}
v13 = pXdvExInitializeLookasideListEx(
BugCheckParameter2,
a2,
a3,
a4,
a5,
BugCheckParameter3,
a7,
a8,
IsEnabled,
(__int64)ExInitializeLookasideListExInternal);
if( v13 >= 0 )
{
if( (IsEnabled || (_DWORD)KernelVerifier)
&& *(VOID(__fastcall **)(_HHIVE *, UINT64, UINT64, _CHILD_LIST *))(BugCheckParameter2 + 48) == CmpAllocateTransientPoolWithTag
&& *(VOID(__stdcall **)(PVOID, PVOID))(BugCheckParameter2 + 56) == ExFreePoolEx )
{
*(_QWORD *)(BugCheckParameter2 + 48) = VerifierExAllocatePoolEx;
*(_QWORD *)(BugCheckParameter2 + 56) = VerifierExFreePoolEx;
}
ViLookasideAdd((_GENERAL_LOOKASIDE *)BugCheckParameter2);
}
return(unsigned int)v13;
}Referenced by:
No references.