MmCanFileBeTruncated
INT8 __fastcall MmCanFileBeTruncated(INT64 *a1, UINT64 *p_NewFileSize){
_LARGE_INTEGER v2;
_CONTROL_AREA *v3;
UINT8 v4;
UINT8 EntryIrql;
_LARGE_INTEGER NewFileSize;
NewFileSize.QuadPart = 0i64;
EntryIrql = 0;
if( p_NewFileSize )
{
v2.QuadPart = *p_NewFileSize;
p_NewFileSize = (UINT64 *)&NewFileSize;
NewFileSize = v2;
}
v3 = MiCanFileBeTruncatedInternal(
(_MI_SECTION_OBJECT_POINTERS *)a1,
(_LARGE_INTEGER *)p_NewFileSize,
0i64,
0i64,
&EntryIrql);
v4 = EntryIrql;
if( EntryIrql == 17 )
return 0;
if( v3 )
{
ExReleaseSpinLockExclusiveFromDpcLevel((INT64 *)&v3->ControlAreaLock);
__writecr8(v4);
}
return 1;
}Referenced by:
CcPurgeCacheSection