Important: The information in this document is obsolete and should not be used for new development.
LockMemory
To make a portion of the address space immovable in physical memory and ineligible for paging, use theLockMemoryfunction.
FUNCTION LockMemory (address: UNIV Ptr; count: LongInt): OSErr;
address- The starting address of the range of memory to be locked in RAM.
count- The size, in bytes, of the range of memory to be locked in RAM.
DESCRIPTION
TheLockMemoryfunction makes the portion of the address space beginning ataddressand having a size ofcountbytes immovable in physical memory and ineligible for paging.If the
addressparameter supplied to theLockMemoryfunction is not on a page boundary, it is rounded down to the nearest page boundary. Similarly, if the specified range does not end on a page boundary, thecountparameter is rounded up so that the entire range of memory is locked.The CPU marks locked pages as noncacheable. On Macintosh computers containing the Macintosh IIci ROM, all physical RAM is marked noncacheable.
ASSEMBLY-LANGUAGE INFORMATION
The trap macro and routine selector for theLockMemoryfunction are
Trap macro Selector _MemoryDispatch $0002 The registers on entry and exit for this routine are
Registers on entry D0 Selector code A0 Starting address A1 Number of bytes to lock
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