Составители:
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
- …
- следующая ›
- последняя »
