Короткий ответ - нет - вы не можете изменить размер сопоставления файла после его создания.Описанная вами последовательность создания / копирования - единственный способ выполнить это с помощью сопоставления файлов, подкрепленного файлом системного подкачки.
При этом вы можете самостоятельно управлять файлом, поддерживающим сопоставление, и выполнить это.,Начните с собственного файла данных, инициализированного нулями, и укажите действительные дескрипторы для него при вызовах CreateFileMapping()
.
Когда вам нужно изменить размер, закройте ваши сопоставления, расширьте файл и заново создайте сопоставления.Это потребует некоторой синхронизации между операциями роста / усечения - не тривиально, но и не должно быть слишком сложным.
В конце концов, это та же старая история.Добавленная сложность против производительности.