Открытие сопоставления файлов (Windows)

Как правильно открывать / использовать сопоставление файлов в Windows с возможностью записи в него из другого процесса без сопоставления файлов;

Например, процесс A записывает большой файл журнала, открывает файл, записывает новые данные в конец или перезаписывает его новыми данными.

Процесс B параллельно открывает этот файл как отображение файла и время от времени читает страницы памяти для обновлений, не закрывая отображение файла.

Пожалуйста, не спрашивайте, почему я хочу делать логику, которую я объяснил выше. Мне нужно знать, можно ли это сделать?

0

Решение

Ничто не мешает вам иметь объект сопоставления файлов, связанный с файлом, который вы обновляете с помощью обычных функций файловой системы (ReadFile, WriteFile, так далее.). Но вам не понравятся результаты. Windows гарантирует, что представление сопоставления файлов будет согласованным, если другие процессы обновят файл с помощью функций сопоставления файлов. Это не дает таких гарантий, когда файл обновляется другим способом. Фактически, это в значительной степени гарантирует, что то, что показывает представление отображения файлов, не будет соответствовать фактическому содержимому файла.

Так что да, вы можете сделать это. Но вы не должны этого делать, потому что вы не можете гарантировать, что то, что отображает отображаемое представление, действительно находится в файле.

1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]