Вопрос про MapViewOfFile
От: Poseidon СССР  
Дата: 13.10.09 07:48
Оценка:
Как это работает (хочу заюзать вместо VirtualAlloc)?

Из сети начинаю скачивать файл, размер которого заранее неизвестен. Выделяю для него N MB. Скачав заголовок файла выясняется что он больше этих выделенных N Mb... Проблема в том что используя VirtualAlloc нельзя зарезервировать "неограниченно много места", а нужно именно это. Зарезервировать неограниченно много последователных байт и коммиттить по факту. Если дырка в адресном окне недостаточно большая — сбрасывать на диск, что вероятно и делает MapViewOfFile..

Все это дело выполняется несколькими потоками одновременно. Подозреваю что вместо одного вызова VirtualAlloc в этом случае потребуется вызвать CreateFile+CreateFileMapping с уникальным именем для каждого потока и потом звать MapViewOfFile. Но с какими параметрами и какие могут быть подводные камни? Понимаю что это наверняка есть в MSDN и у Рихтера, но надо по-быстрому, просто хинтов накидать, а дальше я сам
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.