FSpOpenRF
You can use the FSpOpenRF function to open a file's resource fork.
FUNCTION FSpOpenRF (spec: FSSpec; permission: SignedByte;
VAR refNum: Integer): OSErr;
spec
- An
FSSpec record specifying the file whose resource fork is to be opened.
permission
- A constant indicating the desired file access permissions.
refNum
- A reference number of an access path to the file's resource fork.
DESCRIPTION
The FSpOpenRF function creates an access path to the resource fork of a file and returns, in the refNum parameter, an access path reference number to that fork. You can pass that reference number as a parameter to any of the low- or high-level file access routines.
The permission parameter should contain a constant indicating the desired file
access permissions.
SPECIAL CONSIDERATIONS
Generally, your application should use Resource Manager routines rather than File Manager routines to access a file's resource fork. The FSpOpenRF function does not read the resource map into memory and is generally useful only for applications (such as utilities that copy files) that need block-level access to a resource fork. In particular, you should not use the resource fork of a file to hold nonresource data. Many parts of the system software assume that a resource fork always contains resource data.
ASSEMBLY-LANGUAGE INFORMATION
The trap macro and routine selector for FSpOpenRF are
| Trap macro | Selector |
| _HighLevelHFSDispatch | $0003 |
RESULT CODES
| noErr | 0 | No error |
| nsvErr | -35 | No such volume |
| ioErr | -36 | I/O error |
| bdNamErr | -37 | Bad filename |
| tmfoErr | -42 | Too many files open |
| fnfErr | -43 | File not found |
| opWrErr | -49 | File already open for writing |
| permErr | -54 | Attempt to open locked file for writing |
| dirNFErr | -120 | Directory not found or incomplete pathname |
| afpAccessDenied | -5000 | User does not have the correct access to the file |