StoreEver Tape Storage
1753420 Members
4807 Online
108793 Solutions
New Discussion

DAT72 USB SCSI INQUIRY message using SCSI_PASS_THROUGH fails

 

DAT72 USB SCSI INQUIRY message using SCSI_PASS_THROUGH fails

I am currently trying to write a simple C application to send a SCSI INQUIRY message to a DAT72 USB Tape Drive (Product ID - C7438A) on a Windows platform.

I can successfully obtain the DevicePath from the registry and can create a handle using CreateFile(). However all my attempts to send an INQUIRY command using DeviceIoControl() in a IOCTL_SCSI_PASS_THROUGH_DIRECT result in failure.

GetLastError() returns error 1306 - ERROR_REVISION_MISMATCH. Does anyone know what this cryptic error means?

I am using HP's HPUSBXSC.sys driver version 6.05.2010.0

I have also disabled the Removable Storage service.

This tape drive works perfectly using XP's Backup Utility and I have been able to run a backup and a restore.

Does anyone have some sample code that sends the INQUITY message using SCSI_PASS_THROUGH_DIRECT calls?

The higher level IOCTL_SCSI_GET_INQUIRY_DATA message when passed using DeviceIoControl() fails with error 50 - ERROR_NOT_SUPPORTED

Any help would be much appreciated.