MiDestroySection
VOID __stdcall MiDestroySection(_CONTROL_AREA *ControlArea, INT16 OldIrql, _FILE_OBJECT *FileObject){
unsigned __int64 v4;
*((_DWORD *)ControlArea + 14) |= 9u;
v4 = (unsigned __int8)OldIrql;
MiDrainControlAreaWrites(ControlArea, OldIrql);
MiClearFilePointer(ControlArea);
ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)ControlArea + 9);
__writecr8(v4);
if( FileObject )
{
FsRtlReleaseFileForCcFlush(FileObject);
HalPutDmaAdapter((PADAPTER_OBJECT)FileObject);
}
MiSegmentDelete((__int64)ControlArea);
}Referenced by:
MiCleanSection
MiDeleteCachedSegment
MiDeleteCachedSubsection
MiProcessDeleteOnClose