Для обеспечения когерентности процессы должны работать с одним объектом “проецируемый файл”, а не с одним файлом.
Использование файла подкачки:
Общая область данных может быть создана не только путем проецирования файла, но и путем проецирования части файла подкачки.
Для этого в функцию CreateFileMapping необходимо передать в качестве параметра не описатель ранее открытого файла, а -1. В этом случае необходимо задать размеры выделяемой области.
Пример работы с проецированным файлом:
HANDLE hFile, hFileMapping;
PVOID pMassive;
hFile = CreateFile( “File Name”, ... );
hFileMapping = CreateFileMapping( hFile, ... );
CloseHandle( hFile ) ;
pMassive = MapViewOfFile( hFileMapping, ... );
//Здесь производится работа с массивом pMassive
UnmapViewOfFile( pMassive );