DeviceIoControl() 経由で送信する ATA コマンドを使用して大容量ディスクを読み取りたい。構造体を使用してコマンドを送信するATA_PASS_THROUGH_EX
ことが主な問題です。実際には、タイプCurrentTaskFile[]
の arary はUCHAR
、16777215 以下のセクターを送信できません。
CurrentTaskFile[2] = 0xFF;
CurrentTaskFile[3] = 0xFF;
CurrentTaskFile[4] = 0xFF;
つまり
CurrentTaskFile[2] = 0xFF
、セクタ番号レジスタ、
CurrentTaskFile[3] = 0xFF
シリンダ下位レジスタ、
CurrentTaskFile[3] = 0xFF
シリンダ上位レジスタです。
16777215 以下のセクターを読み取りたい場合 (1 TB ディスクの最後のセクターを読み取りたい場合) はどうすればよいでしょうか。16777215以下のセクターを送信する方法。実際には、最大4 TBの容量のディスクを読み取る必要があります。