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