Привязать имя файла к открытому CreateFileMapping

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
Teranas
Бывалый
Бывалый
Аватара пользователя
 
Сообщения: 224
Зарегистрирован: 13.12.2008 (Сб) 4:26
Откуда: Новосибирск

Привязать имя файла к открытому CreateFileMapping

Сообщение Teranas » 26.10.2017 (Чт) 6:52

Нужно привязать имя файла к открытому отбражаемому файлу, что бы можно было обращаться к не му по имени файла, а не через идентификатор hViewFile или fID_cfm$
hMapFile = CreateFileMapping(INVALID_HANDLE_VALUE, 0, PAGE_READWRITE, 0, SizeN, fID_cfm$)
hViewFile = MapViewOfFile(hMapFile, FILE_MAP_ALL_ACCESS, 0, 0, 0)
...
Кто знает подскажите... Варианты с открытием или созданием реального файла на диске - не подходят...
С уважением, Андрей.

VBTerminator
Постоялец
Постоялец
Аватара пользователя
 
Сообщения: 415
Зарегистрирован: 19.11.2008 (Ср) 20:10

Re: Привязать имя файла к открытому CreateFileMapping

Сообщение VBTerminator » 26.10.2017 (Чт) 10:25

Если имя вам нужно для возможности открытия этого же отображения где-нибудь ещё (в другом месте вашей программы, либо вообще в другом процессе), то пожалуйста. Передаёте в CreateFileMapping последним аргументом желаемое имя (повторюсь: имя, а не целочисленный fID_cfm), а в других местах используете OpenFileMapping с этим же именем.

Если же вы хотите использовать имена в MapViewOfFile, то увы. Дескрипторы были придуманы для увеличения производительности, так как шерстить таблицу имён на каждый чих — это гарантированные тормоза. Дескриптор же — всего лишь готовый индекс во внутреннем массиве NT-подсистемы ядра.


Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: SemrushBot, Yandex-бот и гости: 57

    TopList