簡體   English   中英

ATA命令到USB驅動器

[英]ATA commands to USB drive

Windows 7的
C程序設計
Visual C ++ 2008(在VMWare中)

我想通過DeviceIOContro向USB硬盤發送一些ATA命令(標識設備,讀取本地最大地址,設置最大地址)。 因此,我有一些問題。

據我了解,USBSTOR無法直接處理ATA命令(使用IOCTL_ATA_PASS_THROUGH )。 我試過了,它可以與本機IDE硬盤驅動器一起使用,但不能與USB一起使用。

  1. 應用程序將SCSI命令發送到設備並將它們轉發到設備是否正確? 所以我需要用封裝的ATA命令創建一個SCSI命令?

  2. 用什么dwIoControlCode可以做到這一點? 我嘗試使用IOCTL_SCSI_MINIPORT但錯誤是ERROR_NOT_SUPPORTED 它可以與minport一起使用嗎? 微型端口仍在更新中嗎?

查看此鏈接:

http://www.mombu.com/microsoft/windows-programmer-nt-kernel-mode/t-howto-send-ata-spec-command-to-usb-hdd-1646752.html

問:如何發送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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM