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.