HvTruncateCurrentLogFileIfRequired
VOID __stdcall HvTruncateCurrentLogFileIfRequired(_HHIVE *Hive){
unsigned int HiveFlags;
__int64 CurrentLog;
unsigned int v3;
_HHIVE *v4;
unsigned __int64 v5;
INT64 v6;
UINT64 v7;
HiveFlags = Hive->HiveFlags;
if( (HiveFlags & 1) == 0 && (HiveFlags & 0x8000) == 0 )
{
CurrentLog = Hive->CurrentLog;
if( (_DWORD)CurrentLog )
{
if( *((_QWORD *)&Hive[1].Signature + CurrentLog) )
{
v3 = HvpLogTypeToLogArrayIndex((unsigned int)CurrentLog);
v5 = *((_QWORD *)&v4[1].ViewMap.ViewTree.Min + v3);
if( v5 > (unsigned int)HvGetEffectiveLogSizeCapForHive(v4) )
{
v7 = *(unsigned int *)(v6 + 176);
if( v5 > v7 )
CmpDoFileSetSizeEx(v6, (unsigned int)CurrentLog, v7, 0);
}
}
}
}
}Referenced by:
CmpFlushHive