PATH 
ADC Home > Documentation > Hardware > Device Managers and Drivers > PCI Card Services > Designing PCI Cards and Drivers for Power Macintosh Computers


  

InstallDriverFromMemory

InstallDriverFromMemory loads a driver from a range of memory and installs it.

OSErr InstallDriverFromMemory (
                     Ptr memory,
                     long length,
                     ConstStr63Param fragName,
                     RegEntryIDPtr device,
                     UnitNumber beginningUnit,
                     UnitNumber endingUnit,
                     DriverRefNum *refNum);
memory
Pointer to beginning of fragment in memory.
length
Length of fragment in memory.
fragName
An optional name of the fragment (used primarily by debugger).
device
Pointer to Name Registry specification.
beginningUnit
Low unit number in unit table range.
endingUnit
High unit number in unit table range.
refNum
Resulting unit table refNum value.
DESCRIPTION

InstallDriverFromMemory installs a driver that is located in a CFM code fragment anywhere within the specified unit number range of the unit table. It invokes the driver's Initialize command, passing the RegEntryIDPtr value to it. The driver's initialization code must return noErr for InstallDriverFromMemory to complete successfully. This function returns the driver's refNum value but it does not open the driver.

If the unit table is filled throughout the range from beginningUnit to the value returned by HighestUnitNumber, and the table has not already grown to its maximum size, it can expand to accept the new driver. To use this feature, set endingUnit larger than HighestUnitNumber().

Note

InstallDriverFromMemory uses GetDriverMemoryFragment to load the driver, which then calls SetDriverClosureMemory to hold the driver's closure memory.

RESULT CODES
noErr 0 No error
badUnitErr -21 Bad unit number
unitTblFullErr -29 Unit table or requested range full
paramErr -50 Bad parameter
All CFM errors (see Inside Macintosh: PowerPC System Software)

© 1999 Apple Computer, Inc. – (Last Updated 26 March 99)