Legacy Documentclose button

Important: The information in this document is obsolete and should not be used for new development.

Previous Book Contents Book Index Next

Inside Macintosh: Memory /
Chapter 3 - Virtual Memory Manager / Virtual Memory Manager Reference
Routines / Virtual Memory Management


HoldMemory

To make a portion of the address space resident in physical memory and ineligible for paging, use the HoldMemory 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
The HoldMemory function makes the portion of the address space beginning at address and having a size of count bytes resident in physical memory and ineligible for paging.

If the address parameter supplied to the HoldMemory 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, the count parameter is rounded up so that the entire range of memory is held.

SPECIAL CONSIDERATIONS
Even though HoldMemory does not move or purge memory, you should not call it at interrupt time.

ASSEMBLY-LANGUAGE INFORMATION
The trap macro and routine selector for the HoldMemory function are
Trap macro Selector
_MemoryDispatch$0000

The registers on entry and exit for this routine are
Registers on entry
D0Selector code
A0Starting address
A1Number of bytes to hold
Registers on exit
D0Result code

RESULT CODES
noErr0No error
paramErr-50Error in parameter list
notEnoughMemoryErr-620Insufficient physical memory
interruptsMaskedErr-624Called with interrupts masked

Previous Book Contents Book Index Next

© Apple Computer, Inc.
3 JUL 1996