|
This technical note describes the differences in the way the 1.1g, 4.1, 5.0 and
newer Finders communicate with foreign (non-Sony) disk drives.
[Mar 01 1988]
|
Identifying Foreign Drives
Non-Sony disk drives can send an icon and a descriptive string to the Finder;
this icon is used on the desktop to represent the drive. The string is
displayed in the "Get Info" box for any object belonging to that disk. When the
Finder notices a non-Sony drive in the VCB queue, it will issue 1 or 2 control
calls to the disk driver to get the icon and string.
Finder 1.1g issues one control call to the driver with csCode = 20 and
the driver returns the icon ID in csParam . This method has problems
because the icon ID is tied to a particular system file. So, if the Finder
switch-launches to a different floppy, the foreign disk's icon reverts to the
Sony's.
Finders 4.1 and newer issue a newer control call and, if that fails, they issue
the old Control call. The new call has csCode = 21, and the driver
should return a pointer in csParam . The pointer points to an 'ICN#'
followed by a 1- to 31-byte Pascal string containing the descriptor. This
implies that the icon and the string must be part of the disk driver's code
because only the existence of the driver indicates that the disk is attached.
This has implications about the translation of the driver for overseas markets,
but the descriptor will usually be a trademarked name which isn't translated.
However, the driver install program could be made responsible for inserting the
translated name into the driver.
Drivers should respond to both control calls if compatibility with both Finders
is desired.
Back to top
Formatting Foreign Drives
When the user chooses the Erase Disk option in the Finder, a non-Sony driver
needs to know that this has happened so it can format the disk. Finder 4.1 and
newer notify the driver that the drive needs to be formatted and verified. They
first issue a Control call to the driver with the csCode = 6
to tell the disk driver to format the drive. Then they issue a Control
call with a csCode = 5 to tell the driver to verify the drive.
Back to top
Other Nifty Things to Know About
Finders 4.1 and newer also permit the user to drag any online disk to the trash
can. The Finder will clean up the disk state, issue an Eject call
followed by an Unmount call to the disk and then, an event loop later,
reclaim all the memory. This means any program/accessory used to mount volumes
should reconcile its private data, menus, etc. to the current state of the VCB
queue. These Finders also notice if a volume disappears and will clean up
safely. But, because of a quirk in timing, a mount manager cannot unmount one
volume then mount another immediately; it must wait for the Finder to loop
around and clean up the first disk before it notices the second. (It should
have cleaned up old ones before it notices new ones, but it doesn't.)
Finders 5.0 and newer allow you to drag the startup disk to the trash; Finder
4.1 just ignored you. Finders 5.0 and newer take the volume offline as if you
had chosen Eject.
Back to top
Downloadables
|
Acrobat version of this Note (44K).
|
Download
|
|