Important: The information in this document is obsolete and should not be used for new development.
HandAndHand
Use theHandAndHandfunction to concatenate two relocatable blocks.
FUNCTION HandAndHand (aHndl, bHndl: Handle): OSErr;
aHndl- A handle to the first relocatable block, whose contents do not change but are concatenated to the end of the second relocatable block.
bHndl- A handle to the second relocatable block, whose size the Memory Manager expands so that it can concatenate the information from
aHndlto the end of the contents of this block.DESCRIPTION
TheHandAndHandfunction concatenates the information from the relocatable block to whichaHndlis a handle onto the end of the relocatable block to whichbHndlis a handle. TheaHndlvariable remains unchanged.
- WARNING
- The
HandAndHandfunction dereferences the handleaHndl. You must call theHLockprocedure to lock the block before callingHandAndHand. Afterward, you can call theHUnlockprocedure to unlock it. Alternatively, you can save the block's original state by calling theHGetStatefunction, lock the block by callingHLock, and then restore the original settings by callingHSetState.![]()
SPECIAL CONSIDERATIONS
BecauseHandAndHandmoves memory, you should not call it at interrupt time.ASSEMBLY-LANGUAGE INFORMATION
The registers on entry and exit forHandAndHandare
Registers on entry A0 Handle to be concatenated A1 Handle to contain itself, data from A0's handle
Registers on exit A0 Handle to concatenated data D0 Result code RESULT CODES
noErr 0 No error memFullErr -108 Not enough memory nilHandleErr -109 NILmaster pointermemWZErr -111 Attempt to operate on a free block