2

是否可以对 SCSI 驱动程序进行一些查询请求?

4

2 回答 2

2

不,从用户态是不可能的。

按照设计,Mac OS X 不允许应用程序向存储设备发送 SCSI 或 ATA 命令,除非应用程序开发人员还提供支持这些命令的内核设备驱动程序。SCSI 架构模型系列只允许一个逻辑单元驱动程序一次控制一个设备,并为存储设备提供内核逻辑单元驱动程序(如“SCSI 架构模型系列设备支持”中所列)。同样,ATA 系列不允许应用程序直接向 ATA 或 SATA(串行 ATA)设备发送 ATA 命令。

从这里 http://developer.apple.com/library/mac/#documentation/DeviceDrivers/Conceptual/WorkingWithSAM/WWS_SAMDevInt/WWS_SAM_DevInt.html

于 2011-09-08T14:08:45.763 回答
1

接受的答案并不完全正确。

如果设备不是块磁盘设备,而是磁带驱动器,因此默认情况下不由 macOS 驱动程序驱动,则可以使用<IOKit/scsi/SCSITaskLib.h>用户态应用程序中的可用功能与它通信。请参阅Apple 的 SCSI 文档中的“SCSITaskDeviceInterface”部分。

于 2022-02-09T13:43:01.637 回答