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.