我一直在努力创建一个程序来发送(最好是任意的)ATA 命令,到目前为止,我在 Windows 中找到的唯一选项是IOCTL_ATA_PASS_THROUGH和一个相关的结构,使用 C++的ATA_PASS_THROUGH_EX 。
不幸的是,对于那些还不知道自己在做什么的人来说,我一直发现缺少这些文档。这是我没有弄清楚的:
- 如何
IOCTL_ATA_PASS_THROUGH
在语句中使用? - 您将 ATA 命令发送到哪里?
ATA_PASS_THROUGH_EX.DataTransferLength
应该是数据缓冲区的大小,以字节为单位。那是 struct + ATA 命令,还是只是命令?- 您如何选择命令将要执行的驱动器?
- 驱动器的响应在哪里?