31#define MEDIA_ERASEABLE 0x00000001
32#define MEDIA_WRITE_ONCE 0x00000002
33#define MEDIA_READ_ONLY 0x00000004
34#define MEDIA_READ_WRITE 0x00000008
35#define MEDIA_WRITE_PROTECTED 0x00000100
36#define MEDIA_CURRENTLY_MOUNTED 0x80000000
72#define INQUIRYDATABUFFERSIZE 36
74#ifndef _INQUIRYDATA_DEFINED
75#define _INQUIRYDATA_DEFINED
183#define TAPE_RETRY_MASK 0x0000FFFF
184#define IGNORE_ERRORS 0x00010000
185#define RETURN_ERRORS 0x00020000
_In_ PSCSI_REQUEST_BLOCK Srb
struct _MODE_CAPABILITIES_PAGE * PMODE_CAPABILITIES_PAGE
struct _INQUIRYDATA * PINQUIRYDATA
enum _TAPE_STATUS TAPE_STATUS
struct _TAPE_PHYS_POSITION PTAPE_PHYS_POSITION
struct _MODE_CAPABILITIES_PAGE MODE_CAPABILITIES_PAGE
TAPE_STATUS(NTAPI * TAPE_PROCESS_COMMAND_ROUTINE)(_Inout_ PVOID MinitapeExtension, _Inout_ PVOID CommandExtension, _Inout_ PVOID CommandParameters, _Inout_ PSCSI_REQUEST_BLOCK Srb, _In_ ULONG CallNumber, _In_ TAPE_STATUS StatusOfLastCommand, _Inout_ PULONG RetryFlags)
enum _TAPE_STATUS * PTAPE_STATUS
struct _TAPE_INIT_DATA TAPE_INIT_DATA
struct _TAPE_PHYS_POSITION TAPE_PHYS_POSITION
@ TAPE_STATUS_MEDIA_CHANGED
@ TAPE_STATUS_INVALID_BLOCK_LENGTH
@ TAPE_STATUS_FILEMARK_DETECTED
@ TAPE_STATUS_NO_SUCH_DEVICE
@ TAPE_STATUS_UNRECOGNIZED_MEDIA
@ TAPE_STATUS_SETMARK_DETECTED
@ TAPE_STATUS_SEND_SRB_AND_CALLBACK
@ TAPE_STATUS_CLEANER_CARTRIDGE_INSTALLED
@ TAPE_STATUS_INSUFFICIENT_RESOURCES
@ TAPE_STATUS_IO_DEVICE_ERROR
@ TAPE_STATUS_BEGINNING_OF_MEDIA
@ TAPE_STATUS_INVALID_PARAMETER
@ TAPE_STATUS_INVALID_DEVICE_REQUEST
@ TAPE_STATUS_BUFFER_OVERFLOW
@ TAPE_STATUS_DEVICE_DATA_ERROR
@ TAPE_STATUS_EOM_OVERFLOW
@ TAPE_STATUS_DATA_OVERRUN
@ TAPE_STATUS_REQUIRES_CLEANING
@ TAPE_STATUS_NO_DATA_DETECTED
@ TAPE_STATUS_MEDIA_WRITE_PROTECTED
@ TAPE_STATUS_END_OF_MEDIA
@ TAPE_STATUS_NOT_IMPLEMENTED
@ TAPE_STATUS_DEVICE_BUSY
@ TAPE_STATUS_DEVICE_NOT_CONNECTED
@ TAPE_STATUS_DEVICE_NOT_READY
@ TAPE_STATUS_CHECK_TEST_UNIT_READY
VOID(NTAPI * TAPE_EXTENSION_INIT_ROUTINE)(_In_ PVOID MinitapeExtension, _In_ PINQUIRYDATA InquiryData, _In_ PMODE_CAPABILITIES_PAGE ModeCapabilitiesPage)
BOOLEAN(NTAPI * TAPE_VERIFY_INQUIRY_ROUTINE)(_In_ PINQUIRYDATA InquiryData, _In_ PMODE_CAPABILITIES_PAGE ModeCapabilitiesPage)
struct _TAPE_INIT_DATA * PTAPE_INIT_DATA
struct _INQUIRYDATA INQUIRYDATA
VOID(NTAPI * TAPE_ERROR_ROUTINE)(_In_ PVOID MinitapeExtension, _In_ PSCSI_REQUEST_BLOCK Srb, _Inout_ PTAPE_STATUS TapeStatus)
UCHAR ProductRevisionLevel[4]
UCHAR DeviceTypeQualifier
UCHAR MaximumStoredDefectedListEntries[2]
UCHAR ContinuousTransferLimit[2]
UCHAR MaximumSpeedSupported[2]
UCHAR CurrentSpeedSelected[2]
TAPE_PROCESS_COMMAND_ROUTINE PreProcessReadWrite
TAPE_PROCESS_COMMAND_ROUTINE GetPosition
TAPE_PROCESS_COMMAND_ROUTINE GetStatus
TAPE_PROCESS_COMMAND_ROUTINE SetDriveParameters
TAPE_PROCESS_COMMAND_ROUTINE CreatePartition
TAPE_PROCESS_COMMAND_ROUTINE Erase
ULONG DefaultTimeOutValue
ULONG MinitapeExtensionSize
TAPE_ERROR_ROUTINE TapeError
TAPE_EXTENSION_INIT_ROUTINE ExtensionInit
TAPE_PROCESS_COMMAND_ROUTINE GetMediaParameters
TAPE_PROCESS_COMMAND_ROUTINE SetMediaParameters
ULONG CommandExtensionSize
TAPE_VERIFY_INQUIRY_ROUTINE VerifyInquiry
TAPE_PROCESS_COMMAND_ROUTINE WriteMarks
TAPE_PROCESS_COMMAND_ROUTINE SetPosition
TAPE_PROCESS_COMMAND_ROUTINE GetDriveParameters
BOOLEAN QueryModeCapabilitiesPage
TAPE_PROCESS_COMMAND_ROUTINE Prepare
_In_ WDFMEMORY _Out_opt_ size_t * BufferSize