2013年4月5日星期五

aspi spti


主机与外围SCSI或ATAPI接口存储设备通讯的编程接口

ASPI(Advanced SCSI Programming Interface)是由存储领域大名鼎鼎的Adaptec于1990年代初期开发的,最初是为了支持SCSI驱动器,后来加入了ATAPI驱动器的支持。MS获取授权在windows 9x系列使用这个开发接口。
其目的是创建一个接口(一个标准层/设备驱动程序集),用于和SCSI总线上的设备直接通信(与设备talk)。
该技术后来,扩散到其它总线技术上:
IDE (Integrated Drive Electronics)
ATAPI (AT Attachment Packet Interface) i.e. CD Burners
SCSI-like i.e. parallel port
因为MS,当时没有相应的技术,所以MS获取授权在windows 9x系列使用这个开发接口。

MS在NT系列开发了自己的接口,这就是SPTI(SCSI Pass Through Interface)用以取代ASPI。NT系统默认是没有安装ASPI驱动的,不过有些存储应用程序还在使用ASPI接口,可以从Adaptec下载此驱动安装。

SPTD则是由Duplex Secure Ltd.开发的同类接口

Nero也开发了自己的ASPI驱动。其他比较有名的还有ASAPI等

Microsoft also created another drive access layer, called IOCTL (Input/Output Control).


The storage port drivers provide an interface for Win32 applications to send SCSI Command Descriptor Block (CDB) messages to SCSI devices. The interfaces are IOCTL_SCSI_PASS_THROUGH and IOCTL_SCSI_PASS_THROUGH_DIRECT. Applications can build a pass-through request and send it to the device by using this IOCTL.
SPTI is accessible to Windows software using the DeviceIoControl Windows API.[2]
ImgBurn offers SPTI as a method for accessing optical disc drives

SPTI (SCSI Pass Through Interface) is an API, allowing Microsoft Windows applications (starting with NT/2000) to work with SCSI-devices. 
In the context of data storage, SPTI support means you can connect to a server and export, via an iSCSI network, 
any physical SCSI-device (hard disk, tape or optical drive, etc).

SPTI is only available in the Windows NT family (NT4/2000/XP/2003/Vista) and needs an account with administrator rights to work.

Real ASPI (i.e. Adaptec's one) doesn't support USB / Firewire. 

All about ASPI and SPTI

I have extracted the required code from AKRip CD-DA Audio Extraction Library for SPTI Support and integrated it into libscg (scsi-wnt.c)

没有评论:

发表评论