[英]ATA commands to USB drive
Windows 7的
C程序設計
Visual C ++ 2008(在VMWare中)
我想通過DeviceIOContro
向USB硬盤發送一些ATA命令(標識設備,讀取本地最大地址,設置最大地址)。 因此,我有一些問題。
據我了解,USBSTOR無法直接處理ATA命令(使用IOCTL_ATA_PASS_THROUGH
)。 我試過了,它可以與本機IDE硬盤驅動器一起使用,但不能與USB一起使用。
應用程序將SCSI命令發送到設備並將它們轉發到設備是否正確? 所以我需要用封裝的ATA命令創建一個SCSI命令?
用什么dwIoControlCode
可以做到這一點? 我嘗試使用IOCTL_SCSI_MINIPORT
但錯誤是ERROR_NOT_SUPPORTED
。 它可以與minport一起使用嗎? 微型端口仍在更新中嗎?
查看此鏈接:
問:如何發送ATA規格。 命令到USB HDD?
答:您只能使用USB-> ATA尾門(橋接)芯片支持的任何功能。 如果您控制網橋,則可以實現所需的任何功能。 如果不這樣做,則必須要求網橋供應商透露他們提供的支持。 有關更多信息,請參閱我在NTDEV上1394-> ATA上的線程中的答復。
問:再問一次:是否可能訪問SCSI RAID中的每個磁盤?
答:不可以。
您只能將SCSI命令發送到USB電纜末端的橋接器/機箱。 它們如何轉換為ATA命令-不受您的控制。
我假設El Cheapo機櫃僅轉換基本的SCSI命令。 在這種情況下,您將只有1)由ATA標識模擬的SCSI查詢2)由ATA標識模擬的SCSI讀取容量2)讀取和寫入3)驗證。
就這樣。 在這種情況下,發送任何非平凡的ATA命令的機會將為零,因為另一側的USB至ATA橋接器無法提供這樣做的方法。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.