BUG: SCSI Pass Through Fails with Invalid User Buffer Error

Article translations Article translations
Article ID: 259573 - View products that this article applies to.
This article was previously published under Q259573
This article has been archived. It is offered "as is" and will no longer be updated.
Expand all | Collapse all


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.


This call fails only in Windows 2000.


See the Windows 2000 DDK documentation.


Article ID: 259573 - Last Review: February 28, 2014 - 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

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com