This article was previously published under Q259573
This article has been archived. It is offered "as is" and will no longer be updated.
When you use IOCTL_SCSI_PASS_THROUGH or IOCTL_SCSI_PASS_THROUGH_DIRECT, with the DataTransferLength member of the SCSI_PASS_THROUGH structure set to 1, the call fails with the following error message:
Error: 1784 The supplied user buffer is not valid for the requested operation.
The Scsiport.sys driver checks the validity of the user buffer that is sent by the application. This test fails if the value of DataTransferLength is set to 1, and therefore the ScsiPort driver fails this call.
As a temporary workaround, set DataTransferLength to a value other than 1.
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.