BUG: SCSI Pass Through Fails with Invalid User Buffer Error (259573)



The information in this article applies to:

  • Microsoft Windows 2000 Server
  • Microsoft Windows 2000 Advanced Server
  • Microsoft Windows 2000 Professional
  • Microsoft Windows 2000 Driver Development Kit (DDK)

This article was previously published under Q259573

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.

Modification Type:MajorLast Reviewed:12/17/2003
Keywords:kbBug kbpending kbStorageDev KB259573