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: Files /
Chapter 2 - File Manager / File Manager Reference
Low-Level File Access Routines / Allocating File Blocks


PBAllocate

You can use the PBAllocate function to allocate additional blocks to an open file.

FUNCTION PBAllocate (paramBlock: ParmBlkPtr; async: Boolean): 
                     OSErr;
paramBlock
A pointer to a basic File Manager parameter block.
async
A Boolean value that specifies asynchronous (TRUE) or synchronous (FALSE) execution.
-->ioCompletionProcPtrA pointer to a completion routine.
<--ioResultOSErrThe result code of the function.
-->ioRefNumIntegerA file reference number.
-->ioReqCountLongIntThe number of bytes requested.
<--ioActCountLongIntThe number of bytes actually allocated, rounded up to the nearest multiple of the allocation block size.

DESCRIPTION
The PBAllocate function adds ioReqCount bytes to the specified file and sets the physical end-of-file to 1 byte beyond the last block allocated. If there isn't enough empty space on the volume to satisfy the allocation request, PBAllocate allocates the rest of the space on the volume and returns dskFulErr as its function result.

Note
If the total number of requested bytes is unavailable, PBAllocate allocates whatever space, contiguous or not, is available. To force the allocation of the entire requested space as a contiguous piece, call PBAllocContig instead.
ASSEMBLY-LANGUAGE INFORMATION
The trap macro for PBAllocate is _Allocate.

RESULT CODES
noErr 0No error
dskFulErr-34Disk full
ioErr-36I/O error
fnOpnErr-38File not open
wPrErr-44Hardware volume lock
fLckdErr-45File is locked
vLckdErr-46Software volume lock
rfNumErr-51Bad reference number
wrPermErr-61Read/write permission doesn't allow writing

Previous Book Contents Book Index Next

© Apple Computer, Inc.
2 JUL 1996