MiFlushAllFilesystemPages
INT64 __stdcall MiFlushAllFilesystemPages(){
INT64 result;
VOID(__stdcall *v1)(PVOID, CHAR);
int v2;
unsigned int v3;
int v4;
result = KeGetCurrentIrql();
if( (unsigned __int8)result <= 1u )
{
LODWORD(result) = MiIsWorkingSetTrimThread();
v3 = 0;
if( !(_DWORD)result )
{
result = (INT64)MiModifiedPageWriter;
if( (char *)v1 != (char *)MiModifiedPageWriter )
{
result = (INT64)MiMappedPageWriter;
if( v1 != MiMappedPageWriter )
{
if( v2 == 1 )
{
result = (unsigned int)_InterlockedIncrement(&dword_140C4E408);
if( (_DWORD)result != 1 )
return result;
MiEmptyAllWorkingSets((_MI_PARTITION *)&MiSystemPartition);
}
_InterlockedIncrement(&dword_140C50DD4);
result = qword_140C52870;
if( qword_140C52800 != qword_140C52870 )
{
v4 = dword_140C50D6C;
do
{
KeSetEvent(&stru_140C50DD8, 0);
CcForEachPartition((__int64(__fastcall *)(__int64, __int64))CcNotifyWriteBehindHelper, 2i64, 0);
result = qword_140C52870;
if( qword_140C52800 == qword_140C52870 )
break;
KeDelayExecutionThread(0, 0, (PLARGE_INTEGER)&Mi30Milliseconds);
result = (unsigned int)dword_140C50D6C;
if( v4 != dword_140C50D6C )
{
v4 = dword_140C50D6C;
v3 = -1;
}
++v3;
}
while( v3 < 0xFF );
}
_InterlockedDecrement(&dword_140C50DD4);
}
}
}
}
return result;
}Referenced by:
MiCommitExistingVad
MiGetNextPageTablePte
MiInPageSingleKernelStack
MiLockPagedAddress
MiMakeOutswappedPageResident
MiMakeSystemAddressValid
MiSetProtectionOnSection
MiShutdownSystem
MiWaitForInPageComplete