Important: The information in this document is obsolete and should not be used for new development.
GetNamedResource
You can use theGetNamedResource
function to get a named resource.
FUNCTION GetNamedResource (theType: ResType; name: Str255) : Handle;
theType
- A resource type.
name
- A name that uniquely identifies a resource of the specified type. Strings passed in this parameter are case-sensitive.
DESCRIPTION
TheGetNamedResource
function searches the resource maps in memory for the resource specified by the parameterstheType
andname
. The resource maps in memory, which represent all the open resource forks, are arranged as a linked list. WhenGetNamedResource
searches this list, it starts with the current resource file and progresses through the list in order (that is, in reverse chronological order in which the resource forks were opened) until it finds the resource's entry in one of the resource maps.If
GetNamedResource
finds the specified resource entry in one of the resource maps and the entry contains a valid handle, the function returns that handle. If the entry contains a handle whose value isNIL
, and if you haven't calledSetResLoad
with theload
parameter set toFALSE
,GetNamedResource
attempts to read the resource into memory.If the
GetNamedResource
function can't find the resource data, it returnsNIL
, andResError
returns the result coderesNotFound
. TheGetNamedResource
function also returnsNIL
if the resource data to be read into memory won't fit, in which caseResError
returns an appropriate Memory Manager result code. If you callGetNamedResource
with a resource type that can't be found in any of the resource maps of the open resource forks, the function returnsNIL
as well, butResError
returns the result codenoErr
. You should always check that the value of the returned handle is notNIL
.You can change the resource map search order by calling the
UseResFile
procedure beforeGetNamedResource
.SPECIAL CONSIDERATIONS
TheGetNamedResource
function may move or purge memory blocks in the application heap. Your application should not call this function at interrupt time.RESULT CODES
noErr 0 No error resNotFound -192 Resource not found SEE ALSO
To check for errors, call theResError
function as described on page 1-47.To include ROM-resident system resources in the Resource Manager's search of the resource maps for open resource forks, use the
RGetResource
function as described on page 1-73.For information about the
UseResFile
andSetResLoad
procedures, see page 1-65 and page 1-74, respectively.