internal static void FreeIOMemory(UIntPtr addr, UIntPtr size, Process process) { if (useAddressTranslation) { KernelIOMemoryHeap.Free(addr, size, process); } else { FlatPages.Free(addr, size, process); } }
internal static void UserFree(UIntPtr addr, UIntPtr numPages, Process process) { if (useAddressTranslation) { ProtectionDomain.CurrentDomain.UserRange.Free(addr, numPages, process); } else { FlatPages.Free(addr, BytesFromPages(numPages), process); } }
internal static void KernelFree(UIntPtr startAddr, UIntPtr numPages, Process process) { if (useAddressTranslation) { KernelRange.Free(startAddr, numPages, process); } else { FlatPages.Free(startAddr, MemoryManager.BytesFromPages(numPages), process); } }