Re: VirtualAlloc и MapViewOfFile
От: enigmas Ниоткуда  
Дата: 15.02.18 18:05
Оценка: +1
Здравствуйте, Poseidon, Вы писали:

P>Здравствуйте! Не секрет что mapviewoffile терпит неудачу при работе с достаточно большим по размеру файлом.

P>Вопрос — можно ли это вылечить если сначала вызвать CreateFileMapping или MapViewOfFile с флагом MEM_RESERVE?
P>Для достаточно большой области памяти.
P>А потом узнать объем памяти которую можно закомитить (кстати какой функцией это можно сделать?)
P>Заключить код работы с памятью в SEH и при возникновении ошибки доступа к памяти вызывать MapViewOfFile
P>повторно с указанием флага MEM_COMMIT и размера блока который система способна выделить?

P>делал нечто подобное с VirtualAlloc, а теперь хочу разобраться как это можно сделать для образа файла.


MEM_RESERVE обычно используется если память надо выделить по определенному адресу. Если адрес не имеет значение, можно просто MEM_COMMIT.

Если какие то есть проблемы с большими файлами (о чем я не знаю), можно просто маппить не весь файл, а его часть?
См. 3 последние аргумента MapViewOfFile.
The Enigma Protector — software protection system
http://enigmaprotector.com/
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.