TapeMiniPreProcessReadWrite

TAPE_STATUS
TapeMiniPreProcessReadWrite(

IN OUT PVOID MinitapeExtension,/* optional */
IN OUT PVOID CommandExtension,/* not used */
IN OUT PVOID CommandParameters,/* not used */
IN OUT PSCSI_REQUEST_BLOCK  Srb,
IN ULONG CallNumber,/* not used */
IN TAPE_STATUS StatusOfLastCommand,/* not used */
IN OUT PULONG RetryFlags/* not used */
);

TapeMiniPreProcessReadWrite is an optional, special-purpose routine that executes device-specific operations required before read and write operations. Most tape miniclass drivers do not need this routine.

Parameters

MinitapeExtension

Points to the driver-specific minitape extension. The pointer is NULL if the miniclass driver did not specify a minitape extension.

CommandExtension

Not used

CommandParameters

Not used.

Srb

Points to the SRB for the read or write operation. This routine should not modify the SRB.

CallNumber

Not used.

StatusOfLastCommand

Not used.

RetryFlags

Not used.

Return Value

TapeMiniPreProcessReadWrite can return any TAPE_STATUS_XXX value. The tape class driver ignores the return value.

Comments

The activities of the TapeMiniPreProcessReadWrite routine are device specific. The routine can use the information passed to it by the class driver to implement special preprocessing for reads and writes. If a drive has limited capabilities, the driver may need this routine to maintain coherent state, for example.

If this routine is nonNULL in TAPE_INIT_DATA, the tape class driver calls it before each read and write operation on the tape device. The class driver does not expect any information back from this routine.