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の容量のディスクを読み取る必要があります。