示例#1
0
 internal static void FreeIOMemory(UIntPtr addr, UIntPtr size, Process process)
 {
     if (useAddressTranslation)
     {
         KernelIOMemoryHeap.Free(addr, size, process);
     }
     else
     {
         FlatPages.Free(addr, size, process);
     }
 }
示例#2
0
 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);
     }
 }
示例#3
0
 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);
     }
 }