Path: news.mitre.org!blanket.mitre.org!philabs!newsjunkie.ans.net!newsfeeds.ans.net!news-was.dfn.de!news-spur1.maxwell.syr.edu!news.maxwell.syr.edu!cpk-news-hub1.bbnplanet.com!news.bbnplanet.com!newsfeed.internetmci.com!192.220.251.22!netnews.nwnet.net!news.microsoft.com!news From: "Paul Sanders" Newsgroups: comp.os.ms-windows.programmer.nt.kernel-mode Subject: Re: Is there any real documentation on the DDK SCSI pass through interface? Date: Tue, 2 Dec 1997 12:41:33 -0800 Organization: Microsoft Lines: 53 Message-ID: <661rq0$7p2@news.microsoft.com> References: <347AE642.DDF51B10@mial.com> <65f5rl$if4@news.microsoft.com> <661mu4$9mh$1@decius.ultra.net> NNTP-Posting-Host: 157.54.178.80 X-Newsreader: Microsoft Outlook Express 4.71.1712.3 X-MimeOLE: Produced By Microsoft MimeOLE V4.71.1712.3 The following is NOT intended to sound pompous or arrogant The person who wrote most of ScsiPort.Sys and the pass through code really, really knows what he is doing. He also really, really knows the inner workings of Windows NT. IOCTL_SCSI_PASS_THROUGH was the only IOCtl for a short while. It quickly became apparent that a DIRECT version was required. So rather than add a lot of code, he used his 'knowlege' to minimize how much code was needed to add IOCTL_SCSI_PASS_THROUGH_DIRECT. He was able to take advantage of the fact that a ULONG (DataBufferOffset) is the same size as a pointer (DataBuffer). For a long time, pass through code was discouraged and customers were encouraged to write SCSI class drivers. The architects view of pass through was for custom CDB's that Microsoft was not aware of. Not for a complete interface for a scanner/printer/toaster. -Paul just a little history from five years ago. FIVE YEARS!!!! Where has the time gone?????? David Schwartz wrote in message <661mu4$9mh$1@decius.ultra.net>... >>Did you read the README in the SPTI directory? >> >>-Paul > > >Hi Paul, > >Thanks for the quick response. I did read the SPTI README which says: >"See NTDDSCSI.H for more details" on the SCSI_PASS_THROUGH structures. >There are no comments in NTDDSCSI.H. > >To recap this post, it sounds like the user mode backup application is using >IOCTL_SCSI_PASS_THROUGH when it should be using >IOCTL_SCSI_PASS_THROUGH_DIRECT. >By either design or luck, NT SCSIPORT.SYS happens to do the right thing with >the >DataBufferOffset / DataBuffer field in the request. Frankly this SCSIPORT >behavior seems more like a >bug than a feature, and it really should return an invalid parameter error. >Otherwise it seems >unnecessary to provide two flavors of pass through requests. > >David Schwartz >Marathon Technologies > > >