KeInvalidateAllCaches
BOOLEAN KeInvalidateAllCaches(void){
unsigned __int8 CurrentIrql;
CHAR CurrentPrcb;
CurrentIrql = KeGetCurrentIrql();
__writecr8(0xCui64);
CurrentPrcb = (unsigned __int8)KeGetCurrentPrcb();
if( KxSetTimeStampBusy(&KiCacheFlushTimeStamp) )
{
KiIpiSendRequestEx(CurrentPrcb);
_InterlockedIncrement((volatile signed __int32 *)&KiCacheFlushTimeStamp);
}
__writecr8(CurrentIrql);
return 1;
}Referenced by:
KeFlushIoBuffers
KeInvalidateRangeAllCaches
KeInvalidateRangeAllCachesNoIpi
MiChangePageAttributeBatch
MiChangePageAttributeContiguous
MiFlushCacheMdl
MiFlushCacheRange
MiInitializeCacheFlushing