HvCheckAndUpdateHiveBackupTimeStamp
NTSTATUS __stdcall HvCheckAndUpdateHiveBackupTimeStamp(_HHIVE *Hive){
_HMAP_ENTRY *CellMap;
NTSTATUS v3;
unsigned __int64 v4;
CellMap = HvpGetCellMap(Hive, 0i64);
v3 = 0;
if( !CellMap )
KeBugCheckEx(0x51u, (PVOID)1, Hive, 0i64, (PVOID)0x13D4);
v4 = CellMap->PermanentBinAddress & 0xFFFFFFFFFFFFFFF0ui64;
if( *(_QWORD *)(v4 + 0x14) != Hive->BaseBlock->TimeStamp.QuadPart )
{
if( HvpMarkDirty((ULONG_PTR)Hive, 0i64, 0x20ui64, CmHiveDirtyNormal) )
*(_QWORD *)(v4 + 20) = Hive->BaseBlock->TimeStamp.QuadPart;
else
return -1073741443;
}
return v3;
}Referenced by:
CmpCreateHive
CmpCreateHiveRootCell
CmpMountPreloadedHives
HvpPerformLogFileRecovery