Отображения общей памяти фиксируются в размере при создании.Вам нужно будет снова позвонить CreateFileMapping
с большим размером отображения.Это автоматически расширит файл, после чего вы сможете снова MapViewOfFile
и записать любые данные, которые захотите.Обратите внимание, что вам нужно будет изменить имя сопоставления файлов, если вы сначала не закроете все дескрипторы и сопоставления для него, чтобы сопоставление файлов было уничтожено.
Кроме того, это необычно (но, конечно, не незаконно) использовать сопоставления именованных файлов, подкрепленные дисковыми файлами.Как правило, если вы отображаете реальный файл, вы должны передать NULL
параметру lpName
CreateFileMapping
.Вы передадите имя, когда захотите создать отображение совместно используемой памяти без резервного файла, то есть hFile
будет NULL
, а lpName
будет именем сегмента совместно используемой памяти.