KiFlushRangeAllCaches
VOID __stdcall KiFlushRangeAllCaches(
MDL *Mdl,
VOID *BaseAddress,
UINT64 Length,
UINT8 ReadOperation,
UINT8 DmaOperation){
if( DmaOperation && ReadOperation )
{
if( ((KeLargestCacheLine - 1) & (unsigned int)BaseAddress) != 0 )
KeBugCheckEx(0xE6u, 0x1Fui64, 4ui64, (ULONG_PTR)BaseAddress, (ULONG_PTR)Mdl);
if( ((KeLargestCacheLine - 1) & (unsigned int)Length) != 0 )
KeBugCheckEx(0xE6u, 0x1Fui64, 5ui64, (unsigned int)Length, (ULONG_PTR)Mdl);
}
if( KeGetCurrentIrql() == 15 )
KeBugCheckEx(0x55u, 0x64ui64, 0xBADui64, 1ui64, 0i64);
KeInvalidateRangeAllCaches(BaseAddress, (unsigned int)Length);
}Referenced by:
KeFlushIoBuffers