A.3.3 Storing Miniclass Context in Optional Extensions

A tape miniclass driver can use two optional extensions to store context:

  1. A driver-specific minitape extension

    When used, this extension typically stores SCSI inquiry data for devices. A driver that supports several devices can store details about each device, rather than repeatedly querying the devices.

    A miniclass driver specifies the size of the minitape extension in the TAPE_INIT_DATA structure in its DriverEntry routine. The tape class driver allocates the requested storage on behalf of the miniclass driver. The miniclass driver initializes the optional extension with a TapeMiniExtensionInit routine.

  2. A command-specific command extension

    When used, this extension stores command-specific context.

    A miniclass driver specifies the size of the command extension in TAPE_INIT_DATA in its DriverEntry routine. The tape class driver allocates the requested storage each time it sends a command to the miniclass driver. The miniclass driver initializes the command extension on the first call to process a given command; that is, when the CallNumber parameter to the TapeMiniProcessCommand routine equals zero.