CcReferenceFileOffset
VOID __stdcall CcReferenceFileOffset(_SHARED_CACHE_MAP *SharedCacheMap, _LARGE_INTEGER FileOffset){
unsigned int v3;
INT64 v4;
VACB_LEVEL_ALLOCATION_LIST VacbLevels;
if( *((__int64 *)SharedCacheMap + 4) > 0x2000000 )
{
*(&VacbLevels.VacbLevelsAllocated + 1) = 0;
v3 = *((_DWORD *)SharedCacheMap + 38);
VacbLevels.VacbLevelWithBcbListHeads = 0i64;
VacbLevels.VacbLevelList.Blink = (_LIST_ENTRY *)&VacbLevels;
v4 = v3 >> 9;
VacbLevels.VacbLevelList.Flink = (_LIST_ENTRY *)&VacbLevels;
LOBYTE(v4) = v4 & 1;
VacbLevels.VacbLevelsAllocated = 0;
if( !(unsigned __int8)CcAllocateVacbLevels((unsigned int)(CcMaxVacbLevelsSeen - 1), v4, &VacbLevels) )
RtlRaiseStatus(-1073741670);
CcAcquireBcbLockAndVacbLock(1ui64, SharedCacheMap);
SetVacb();
CcReleaseBcbLockAndVacbLock(1ui64, SharedCacheMap);
CcFreeUnusedVacbLevels(&VacbLevels);
}
}Referenced by:
CcPinFileData