Important: The information in this document is obsolete and should not be used for new development.
HoldMemory
To make a portion of the address space resident in physical memory and ineligible for paging, use theHoldMemory
function.
FUNCTION HoldMemory (address: UNIV Ptr; count: LongInt): OSErr;
address
- The starting address of the range of memory to be held in RAM.
count
- The size, in bytes, of the range of memory to be held in RAM.
DESCRIPTION
TheHoldMemory
function makes the portion of the address space beginning ataddress
and having a size ofcount
bytes resident in physical memory and ineligible for paging.If the
address
parameter supplied to theHoldMemory
function is not on a page boundary, then it is rounded down to the nearest page boundary. Similarly, if the specified range does not end on a page boundary, thecount
parameter is rounded up so that the entire range of memory is held.SPECIAL CONSIDERATIONS
Even thoughHoldMemory
does not move or purge memory, you should not call it at interrupt time.ASSEMBLY-LANGUAGE INFORMATION
The trap macro and routine selector for theHoldMemory
function are
Trap macro Selector _MemoryDispatch $0000 The registers on entry and exit for this routine are
Registers on entry D0 Selector code A0 Starting address A1 Number of bytes to hold
Registers on exit D0 Result code RESULT CODES
noErr 0 No error paramErr -50 Error in parameter list notEnoughMemoryErr -620 Insufficient physical memory interruptsMaskedErr -624 Called with interrupts masked