BUG: SCSI Pass Through Fails with Invalid User Buffer Error

This article was previously published under Q259573
This article has been archived. It is offered "as is" and will no longer be updated.
SYMPTOMS
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.
CAUSE
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.
RESOLUTION
As a temporary workaround, set DataTransferLength to a value other than 1.
STATUS
Microsoft has confirmed that this is a bug in the Microsoft products that are listed at the beginning of this article.
MORE INFORMATION
This call fails only in Windows 2000.
REFERENCES
See the Windows 2000 DDK documentation.
IOCTL_SCSI_PASS_THROUGH SCSI passthrough
Properties

Article ID: 259573 - Last Review: 02/28/2014 04:18:29 - Revision: 3.2

Microsoft Windows 2000 Server, Microsoft Windows 2000 Advanced Server, Microsoft Windows 2000 Professional Edition, Microsoft Win32 Device Driver Kit for Windows 2000

  • kbnosurvey kbarchive kbbug kbpending kbstoragedev KB259573
Feedback