MiDestroySection

VOID __stdcall MiDestroySection(_CONTROL_AREA *ControlArea, INT16 OldIrql, _FILE_OBJECT *FileObject){
  unsigned __int64 v4; 

  ControlArea->u.LongFlags |= 9u;
  v4 = (unsigned __int8)OldIrql;
  MiDrainControlAreaWrites(ControlArea, OldIrql);
  MiClearFilePointer(ControlArea);
  ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)&ControlArea->ControlAreaLock);
  __writecr8(v4);
  if( FileObject )
  {
    FsRtlReleaseFileForCcFlush(FileObject);
    HalPutDmaAdapter((PADAPTER_OBJECT)FileObject);
  }
  MiSegmentDelete(ControlArea);
}

Referenced by:

MiCleanSection
MiDeleteCachedSegment
MiDeleteCachedSubsection
MiProcessDeleteOnClose