RawClose
__int64 __fastcall RawClose(PFSRTL_ADVANCED_FCB_HEADER AdvancedHeader, PIRP Irp, __int64 a3){
_FAST_MUTEX *p_PagingIoResource;
if( (*(_DWORD *)(*(_QWORD *)(a3 + 48) + 80i64) & 0x100) == 0 )
{
p_PagingIoResource = (_FAST_MUTEX *)&AdvancedHeader[2].PagingIoResource;
ExAcquireFastMutex((FAST_MUTEX *)&AdvancedHeader[2].PagingIoResource);
--*(_DWORD *)&AdvancedHeader[1].Flags;
--LODWORD(AdvancedHeader[1].Resource);
if( *(_DWORD *)&AdvancedHeader[1].Flags || !RawInitiateDeleteVolume((INT64)AdvancedHeader, 0i64, 0i64) )
KeReleaseGuardedMutex(p_PagingIoResource);
}
*((_DWORD *)Irp + 12) = 0;
IofCompleteRequest(Irp, 1);
return 0i64;
}Referenced by:
RawDispatch