MiCheckPhysicalAddressRange
NTSTATUS __stdcall MiCheckPhysicalAddressRange(_LARGE_INTEGER PhysicalAddress, UINT64 NumberOfBytes){
UINT64 v2;
NTSTATUS result;
if( PhysicalAddress.QuadPart + NumberOfBytes <= PhysicalAddress.QuadPart )
return 0;
v2 = PhysicalAddress.QuadPart + NumberOfBytes - 1;
if( KiMtrrMaskBase )
{
if( (v2 & 0xFFFFFFFFFFFFF000ui64) > KiMtrrMaskBase )
return 0;
}
result = 1;
if( KeGetCurrentPrcb()->CpuVendor == 1 && v2 >= 0xFD00000000i64 && PhysicalAddress.QuadPart <= 0xFFFFFFFFFFui64 )
return 0;
return result;
}Referenced by:
MmCopyMemory