Составители:
9
Функция MapViewOfFile в результате своей работы возвращает адрес в
виртуальном адресном пространстве процесса, начиная с которого спроеци-
рован файл или NULL в случае ошибки.
Для того чтобы отменить ранее сделанное представление, необходимо
использовать функцию
BOOL UnmapViewOfFile(LPVOID lpvBaseAddress);
Параметр lpvBaseAddress является адресом, полученным ранее функ-
цией MapViewOfFile. Функция UnmapViewOfFile сохраняет все модифици-
рованные страницы на диск
и освобождает ранее выделенное виртуальное
адресное пространство.
Для того чтобы два и более процесса имели доступ к объекту отобра-
жения файла, необходимо, чтобы они получили доступ к дескриптору этого
объекта. Его можно получить с помощью функции
HANDLE OpenFileMapping(
DWORD dwAccess, //режим доступа
BOOL bInheritHandle, //флаг наследования объекта
LPSTR lpszName //имя объекта отображения файла
);
Параметр dwAccess аналогичен
по назначению параметру dwDesiredAccess
функции MapViewOfFile. Параметр lpszName представляет собой строку с
именем уже существующего (созданного другим процессом) объекта ото-
бражения файла в память. Получив дескриптор, второй процесс должен так-
же вызвать функцию
MapViewOfFile, чтобы отобразить файл на свое виртуальное адресное про-
странство.
Используя для обмена данными между процессами механизма отобра-
жения файла в
память, необходимо помнить о сохранении целостности дан-
ных в файле. Она может быть нарушена, если на основе одного о того же
Функция MapViewOfFile в результате своей работы возвращает адрес в виртуальном адресном пространстве процесса, начиная с которого спроеци- рован файл или NULL в случае ошибки. Для того чтобы отменить ранее сделанное представление, необходимо использовать функцию BOOL UnmapViewOfFile(LPVOID lpvBaseAddress); Параметр lpvBaseAddress является адресом, полученным ранее функ- цией MapViewOfFile. Функция UnmapViewOfFile сохраняет все модифици- рованные страницы на диск и освобождает ранее выделенное виртуальное адресное пространство. Для того чтобы два и более процесса имели доступ к объекту отобра- жения файла, необходимо, чтобы они получили доступ к дескриптору этого объекта. Его можно получить с помощью функции HANDLE OpenFileMapping( DWORD dwAccess, //режим доступа BOOL bInheritHandle, //флаг наследования объекта LPSTR lpszName //имя объекта отображения файла ); Параметр dwAccess аналогичен по назначению параметру dwDesiredAccess функции MapViewOfFile. Параметр lpszName представляет собой строку с именем уже существующего (созданного другим процессом) объекта ото- бражения файла в память. Получив дескриптор, второй процесс должен так- же вызвать функцию MapViewOfFile, чтобы отобразить файл на свое виртуальное адресное про- странство. Используя для обмена данными между процессами механизма отобра- жения файла в память, необходимо помнить о сохранении целостности дан- ных в файле. Она может быть нарушена, если на основе одного о того же 9
Страницы
- « первая
- ‹ предыдущая
- …
- 7
- 8
- 9
- 10
- 11
- …
- следующая ›
- последняя »