HvMarkBaseBlockDirty

VOID __stdcall HvMarkBaseBlockDirty(_HHIVE *Hive){
  unsigned int HiveFlags; 
  UINT64 EligibleTime; 

  if( !Hive->BaseBlockDirty && !Hive->DirtyCount )
  {
    *(_QWORD *)&Hive[2].Storage[1].FreeDisplay[7].RealVectorSize = KiQueryUnbiasedInterruptTime(1u);
    CmpIssueNewDirtyCallback();
  }
  HiveFlags = Hive->HiveFlags;
  Hive->BaseBlockDirty = 1;
  if( (HiveFlags & 2) == 0 )
  {
    EligibleTime = *(_QWORD *)&Hive[2].Storage[1].FreeDisplay[7].RealVectorSize
                 + 10000000i64 * (unsigned int)CmpLazyFlushIntervalInSeconds;
    CmpArmLazyWriter(CmpLazyFlusher, &EligibleTime, 0i64);
  }
}

Referenced by:

CmCompressKey
CmFreezeRegistry
CmShutdownSystem
CmThawRegistry
CmpCompleteUnloadKey
CmpCreateHive
CmpCreateHiveRootCell
CmpInitCmRM
CmpReorganizeHive
HvHiveStartFileBacked