2011-02-03 24 views
1

我想向SAS(SATA连接SCSI)总线上的驱动器发送“通过直接ATA传递”命令。该驱动器是在Windows XP(x86)环境中的SATA驱动器。我希望有一个STP(SATA隧道协议)层,将ATA命令转换为STP,通过SCSI总线发送到我的SATA驱动器。但是,发送“直接通过ATA传递”命令Win32 API DeviceIOControl()时,状态将返回错误“错误的函数”。在Windows XP中是否存在STP层,它必须在Win32 API Readfile()/ Writefile()中工作。但是,如何获得“ATA通过直接传递”命令才能在SAS总线上使用Win32 API?ATA在Windows XP中通过SAS BUS直接通过

回答

2

如果驱动器被Windows XP识别为SCSI,则必须使用IOCTL_SCSI_PASS_THROUGH_DIRECT并使用SCSI至ATA转换协议发送所需的ATA命令。 SAT规范可以在here找到。