Я пытаюсь прочитать сырые байты на диске. Но функция ReadFile () позволяет только читать байты длиной 512 или ее кратные. Я не могу прочитать байты длиной 10, 180, 1000 и т. Д. c.
DWORD NumberOfBytesRead=0;
ReadFile(hDevice, nullbuffer, (DWORD)512, &NumberOfBytesRead, (LPOVERLAPPED)NULL); //works
ReadFile(hDevice, nullbuffer, (DWORD)1024, &NumberOfBytesRead, (LPOVERLAPPED)NULL); //works
ReadFile(hDevice, nullbuffer, (DWORD)1000, &NumberOfBytesRead, (LPOVERLAPPED)NULL); //error 87
ReadFile(hDevice, nullbuffer, (DWORD)300, &NumberOfBytesRead, (LPOVERLAPPED)NULL); //error 87
Есть ли способ преодолеть это?