| 
 Q:  I have been successfully using RenameDriver()in my'INIT'using the PCI Power
Macintosh DDK, Version B4. However, when I load my driver from an'INIT'file
type usingGetDriverDiskFragment()andInstallDriverFromFragment(), the only
property added or updated in the device tree is the driver-ref property.GetDriverDiskFragment()andInstallDriverFrom Fragment()could be changed to
add the same properties that the'ndrv'adds. Why aren't the same properties
added when I useGetDriverDiskFragment()andInstallDriverFrom Fragment()as
the'ndrv'? In my other 'INIT', I usedDetachResource()for handles. If I use the
combination ofGetDriverMemoryFragment()andInstallDriverFromFragment(), do I
need to use a routine call to disassociate the firstPtrargument inGetDriverMemoryFragment()from the'INIT', and if so, what routine should I
call? A:  Although GetDriverDiskFragmentwas created for family experts, use this call
for'ndrv' drivers, if you want to.GetDriverDiskFragmentdoes not put the same
properties in the device tree as'ndrv'drivers do, because it was not designed
to be used with'ndrv'drivers. After you have your properties in theNameRegistryby usingGetDriverDiskFragment, you can add additional ones. See
Designing PCI Cards & Drivers for Power Macintosh Computers, in the
chapter on NameRegistry, for more information. When you make a call to GetDriverMemoryFragmentin your INIT, and you have a
pointer that you created in your code, you are responsible for disposing of
that pointer, just like any other pointer you create. To free up the storage
you created, make a call toDisposePtr. |