Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Про файл-мэппинг


vicegen ©   (2007-08-09 23:45:00) 

Всем привет, спасибо, что зашли в этот топик!  Cитуация примерно такая: есть файл размером скажем 10кб, я делаю проекцию размером: 10кб + X Кб, далее в зависимости от формата заголовка начинаю писать в область которую я зарезервировал (+X Кб) , при этом может произойти исключение, так вот в обработчике делаю UnMapViewOfFile, ну и естественно файл после этого портится. Единстенное что пришло в голову сделать SetFilePointer - на оригинальный размер файла и далее SetEndOfFile... А можно ли как-нибудь в памяти изменить параметр, отвечающий за размер проекции, который задается в CreateFileMapping, MapViewOfFile?


MBo   (2007-08-10 09:11:00) [1]

>Сергей М. ©   (10.08.07 08:35) [3]
Ага, я лопухнулся.


Сергей М.   (2007-08-10 08:35:00) [2]


> MBo ©   (10.08.07 05:35) [1]
>
> маппирование, к сожалению, не позволяет изменять размер
> файла


Как же не позволяет ?

Вот цитата из справки:

If an application specifies a size for the file-mapping object that is larger than the size of the actual named file on disk, the file on disk is grown to match the specified size of the file-mapping object


Loginov Dmitry   (2007-08-10 07:56:00) [3]

> Cитуация примерно такая: есть файл размером скажем 10кб,
> я делаю проекцию размером: 10кб + X Кб, далее в зависимости
> от формата заголовка начинаю писать....


В чем тут заключается смысл в использовании файлмаппинга?


MBo   (2007-08-10 05:35:00) [4]

маппирование, к сожалению, не позволяет изменять размер файла, так что вот это
>есть файл размером скажем 10кб, я делаю проекцию размером: 10кб + X Кб
смотрится странно


Наверх

Титульная страница Поиск, карта сайта Написать письмо