Using the Tape Class Driver
The system-supplied tape class driver implements device-independent, operating system-specific tape support and exports support routines for device-specific tape miniclass drivers.
The tape class driver:
Initializes the tape miniclass driver using device-specific information provided by the miniclass driver's DriverEntry routine, including allocating and initializing operating system resources for the miniclass driver and the devices it supports, creating a device object (FDO) to represent the device and attaching it to the device stack, and starting the device on receipt of a start request from the PnP manager.
Exports memory allocation and initialization routines.
Splits transfer requests when necessary to fit within the maximum transfer size for the HBA.
Handles IRP_MJ_CREATE, IRP_MJ_READ, IRP_MJ_WRITE, IRP_MJ_PNP, and IRP_MJ_POWER requests.
Performs device-independent preprocessing for IRP_MJ_DEVICE_CONTROL requests and dispatches to the corresponding device-specific routines in the tape miniclass drivers.
Allocates SRBs and sends them to the underlying storage port driver after the tape miniclass driver has filled in the CDB and any other SRB members appropriate to the request.
Translates between Windows NT status codes and tape status codes, provides device-independent tape-specific error handing, and calls the tape miniclass driver's device-specific error handling routines.
Allocates driver context areas for tape miniclass drivers (minitape extension and command extension).
See Tape Class Driver Routines for descriptions of the TapeClassXxx routines that can be called by a tape miniclass driver.
Feedback
https://aka.ms/ContentUserFeedback.
Coming soon: Throughout 2024 we will be phasing out GitHub Issues as the feedback mechanism for content and replacing it with a new feedback system. For more information see:Submit and view feedback for