Important: The information in this document is obsolete and should not be used for new development.
PBHSetVol
ThePBHSetVolfunction sets both the default volume and the default directory.
FUNCTION PBHSetVol (paramBlock: WDPBPtr; async: Boolean): OSErr;
paramBlock- A pointer to a working directory 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. --> ioNamePtrStringPtrA pointer to a pathname. --> ioVRefNumIntegerA volume reference number or a working directory reference number. --> ioWDDirIDLongIntThe directory ID. DESCRIPTION
ThePBHSetVolfunction sets the default volume and directory to the volume and directory specified by theioNamePtr,ioVRefNum, andioWDDirIDfields.The
PBHSetVolfunction sets the default volume to the volume specified by theioVRefNumfield, which can contain either a volume reference number or a working directory reference number. If theioNamePtrfield specifies a full pathname, however, the default volume is set to the volume whose name is contained in that pathname. (A full pathname overrides theioVRefNumfield.)The
PBHSetVolfunction also sets the default directory. If theioVRefNumfield contains a volume reference number, then the default directory is set to the directory on that volume having the partial pathname specified byioNamePtrin the directory specified byioWDDirID. If the value ofioNamePtrisNIL, the default directory is simply the directory whose directory ID is contained inioWDDirID.If the
ioVRefNumfield contains a working directory reference number, thenioWDDirIDis ignored and the default directory is set to the directory on that volume having the partial pathname specified byioNamePtrin the directory specified by the working directory reference number. If the value ofioNamePtrisNIL, the default directory is simply the directory specified inioVRefNum.
- WARNING
- Use of the
PBHSetVolfunction is discouraged if your application may execute in system software versions prior to version 7.0. Because the specified directory might not itself be a working directory,PBHSetVolrecords the default volume and directory separately, using the volume reference number of the volume and the actual directory ID of the specified directory. Subsequent calls toGetVol(orPBGetVol) return only the volume reference number, which will cause that volume's root directory (rather than the default directory, as expected) to be accessed.![]()
- Note
- Both the default volume and the default directory are used in calls made with no volume name, a volume reference number of 0, and a directory ID of 0.
![]()
ASSEMBLY-LANGUAGE INFORMATION
The trap macro forPBSGetVolis_HSetVol.RESULT CODES
noErr 0 No error nsvErr -35 No such volume bdNamErr -37 Bad volume name fnfErr -43 Directory not found paramErr -50 No default volume afpAccessDenied -5000 User does not have access to the directory