Как загрузить более 4 ГБ одновременно в буфер памяти? - PullRequest
0 голосов
/ 05 марта 2019

Как загрузить более 4 ГБ файла в буфер памяти одновременно (= с помощью одного вызова WinAPI)?Метод WinAPI ReadFile поддерживает только до 4294967295 байт.

Примечание: просто для ясности людям, которые сталкиваются с этим вопросом во время поиска в Интернете: обычно это очень плохоидея.Мы рассмотрели это для очень особенного сценария, но не пошли с ним.Нам все еще интересно на теоретическом уровне, было ли это возможно и как.

1 Ответ

1 голос
/ 05 марта 2019

Вы не можете сделать это с помощью одного вызова функции Win32 API.Вызывайте ReadFile несколько раз, считывая блоки размером не более 4 ГБ, пока не прочитаете все, что нужно прочитать.

Если это поможет вашему желанию сделать один вызов функции, сверните этот цикл вфункция, которую вы определяете, и называть это.

...