Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Вопрос по количеству вызовов MapViewOfFile

9.9K
07 сентября 2005 года
KhArt
11 / / 23.08.2005
Сколько раз можно вызывать
MapViewOfFile не вызывая затем UnmapViewOfFile.

Например есть 100 файлов с данными по 60 МБ нужно на все из них получить указатели и держать их одновременно открытыми.

Есть ли ограничения по этому механизму? Есть подозрение что связано это с объектами ядра, а их число ограничено.
406
07 сентября 2005 года
vitaly2003s
481 / / 27.07.2004
Цитата:
Originally posted by KhArt
Сколько раз можно вызывать
MapViewOfFile не вызывая затем UnmapViewOfFile.

Например есть 100 файлов с данными по 60 МБ нужно на все из них получить указатели и держать их одновременно открытыми.

Есть ли ограничения по этому механизму? Есть подозрение что связано это с объектами ядра, а их число ограничено.


Здесь у тебя будет скорее другая проблема нежели нехватка хэндлов. А именно нехватка твоего 2-х гигабайтового адресного пространства для открытия всех 100 файлов по 60 mb так как общий размер сводного адресного пространства для них уже нужен 60*100 = 6000 mb а у тебя имеется в запасе всего 2 гига. Конечно в 64 битной версии винды это прокатит.

9.9K
08 сентября 2005 года
KhArt
11 / / 23.08.2005
Ок, спасибо учту!
Еще вопрос:
Выполняем
fFile = CreateFile...
fFileMap = CreateFileMapping...
pVoid = MapViewOfFile...
CloseHandle(fFileMap);
CloseHandle(fFile);

Возможна ли ситуация что pVoid после этого будет указывать на неинициализированную область памяти?
В принципе это работает...

Ну и в конец UnmapViewOfFile(pVoid);
406
08 сентября 2005 года
vitaly2003s
481 / / 27.07.2004
Цитата:
Originally posted by KhArt
Ок, спасибо учту!
Еще вопрос:
Выполняем
fFile = CreateFile...
fFileMap = CreateFileMapping...
pVoid = MapViewOfFile...
CloseHandle(fFileMap);
CloseHandle(fFile);

Возможна ли ситуация что pVoid после этого будет указывать на неинициализированную область памяти?
В принципе это работает...

Ну и в конец UnmapViewOfFile(pVoid);



Наврядли. В мсдн регламентировано возвращяемое значение функции MapViewOfFile,оно либо валидный адрес либо NULL

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог