FIX: Large Transfers Via SCSI Passthrough May Crash System |
Q126369
When transferring data via the SCSI passthrough (IOCTL_SCSI_PASS_THROUGH and IOCTL_SCSI_PASS_THROUGH_DIRECT), a transfer larger than the targeted SCSI host bus adapter (HBA) can support may crash the system.
The SCSI port driver is not checking that the requested data transfer can be safely handled by the SCSI HBA.
The Win32 application must ensure that SCSI passthrough data transfers can
be safely handled by the HBA before sending them to the SCSI port driver.
To do so, the application should first make a call to get the capabilities
of the SCSI HBA. This is done with a call to DeviceIoControl with an IOCTL
of IOCTL_SCSI_GET_CAPABILITIES.
The returned capabilities structure will include two very important items:
Microsoft has confirmed this to be a problem in the Microsoft products listed at the beginning of this article. This problem was resolved in Windows NT version 3.51.
There is a sample program on the DDK CD, called SPTI (SCSI Pass Through
Interface) that demonstrates a lot of the concepts discussed in this
article. Currently, the files for this sample are on the DDK CD in:
\q_a\samples\ddk\sptiThese files are not automatically copied to the users hard disk during installation of the DDK -- they must be copied manually.
Additional query words: 3.50 memory buffering
Keywords :
Issue type :
Technology : kbAudDeveloper kbWinDDKSearch kbWin32sSearch kbWin32DDKSearch kbWin32DDKNT350 kbWin32DDKNTSearch
|
Last Reviewed: March 6, 1999 © 2001 Microsoft Corporation. All rights reserved. Terms of Use. |