Important: The information in this document is obsolete and should not be used for new development.
GetSharedLibrary
You can use theGetSharedLibrary
function to locate and possibly also load an import library into your application's context.
OSErr GetSharedLibrary (Str63 libName, OSType archType, LoadFlags findFlags, ConnectionID *connID, Ptr *mainAddr, Str255 errName);
libName
- The name of an import library.
archType
- The instruction set architecture of the import library. For the PowerPC architecture, use the constant
kPowerPCArch
. For the 680x0 architecture, use the constantkMotorola68KArch
.findFlags
- A flag that specifies the operation to perform on the import library. See the description of the
GetDiskFragment
function on page 3-19 for the values you can pass in this parameter.connID
- On exit, the connection ID that identifies the connection to the import library. You can pass this ID to other Code Fragment Manager routines.
mainAddr
- On exit, the main address of the import library. The value returned is specific to the import library itself and is not used by the Code
Fragment Manager.errName
- On exit, the name of the fragment that could not successfully be loaded. This parameter is meaningful only if the call to
GetSharedLibrary
fails.DESCRIPTION
TheGetSharedLibrary
function locates the import library named by thelibName
parameter and possibly also loads that import library into your application's context. The actions ofGetSharedLibrary
depend on the action flag you pass in thefindFlags
parameter; passkFindLib
to get the connection ID of an existing connection to the specified fragment,kLoadLib
to load the specified fragment, orkLoadNewCopy
to load the fragment with a new copy of the fragment's data section.The
GetSharedLibrary
function does not resolve any unresolved imports in your application. In particular, you cannot use it to resolve any weak imports in your
code fragment.RESULT CODES
fragNoErr 0 No error paramErr -50 Parameter error fragLibNotFound -2804 Specified fragment not found fragHadUnresolveds -2807 Loaded fragment has unacceptable unresolved symbols fragNoMem -2809 Not enough memory for internal bookkeeping fragNoAddrSpace -2810 Not enough memory in user's address space for section fragObjectInitSeqErr -2812 Order error during user initialization function fragImportTooOld -2813 Import library is too old fragImportTooNew -2814 Import library is too new fragInitLoop -2815 Circularity in required initialization order fragLibConnErr
-2817 Error connecting to fragment fragUserInitProcErr -2821 Initialization procedure did not return noErr
SEE ALSO
See "Loading Code Fragments" on page 3-10 for more details on the fragment-
loading process.