Организация вычислительных процессов в ЭВМ. Лясин Д.Н - 8 стр.

UptoLike

Составители: 

8
Последний параметр lpszMapName содержит имя нового объекта. Ис-
пользуя это имя, другие процессы могут получить доступ к данному объекту
посредством функции OpenFileMapping.
Функция создает объект ядра «отображение файла» и возвращает его
дескриптор, а в случае неудачи – NULL.
Однако, для того, чтобы с данными объекта отображения можно было
работать из программы, необходимо
отобразить этот объект на виртуальное
адресное пространство процесса функцией MapViewOfFile:
LPVOID MapViewOfFile(
HANDLE hFileMappingObject, //дескриптор объекта ядра отображения
//файла
DWORD dwDesiredAccess, // режим доступа
DWORD dwFileOffsetHigh,// смещение от начала файла (старшее слово)
DWORD dwFileOffsetLow,// смещение от начала файла (младшее слово)
DWORD dwNumberOfBytesToMap // количество отображаемых байт
);
Первый параметр функции должен быть предварительно получен
функцией CreateFileMapping или OpenFileMapping. Второй параметр опреде-
ляет права доступа
к отображаемым страницам. Эти права не должны проти-
воречить правам, определенным при создании объекта отображения функци-
ей CreateFileMapping. В качестве этого параметра можно указывать
следующие параметры:
FILE_MAP_WRITE или FILE_MAP_ALL_ACCESS - доступ для
записи. Применяются в сочетании с флагом PAGE_READWRITE;
FILE_MAP_READ доступ для чтения. Применяется в сочетании с
флагами PAGE_READONLY или PAGE_READWRITE;
FILE_MAP_COPY доступ в режимеКопирование при записи”.
При-
меняется в сочетании с флагом PAGE_WRITECOPY.
     Последний параметр lpszMapName содержит имя нового объекта. Ис-
пользуя это имя, другие процессы могут получить доступ к данному объекту
посредством функции OpenFileMapping.
     Функция создает объект ядра «отображение файла» и возвращает его
дескриптор, а в случае неудачи – NULL.
     Однако, для того, чтобы с данными объекта отображения можно было
работать из программы, необходимо отобразить этот объект на виртуальное
адресное пространство процесса функцией MapViewOfFile:
LPVOID MapViewOfFile(
    HANDLE hFileMappingObject, //дескриптор объекта ядра отображения
                                 //файла
    DWORD dwDesiredAccess,       // режим доступа
    DWORD dwFileOffsetHigh,// смещение от начала файла (старшее слово)
    DWORD dwFileOffsetLow,// смещение от начала файла (младшее слово)
    DWORD dwNumberOfBytesToMap // количество отображаемых байт
                       );
     Первый параметр функции должен быть предварительно получен
функцией CreateFileMapping или OpenFileMapping. Второй параметр опреде-
ляет права доступа к отображаемым страницам. Эти права не должны проти-
воречить правам, определенным при создании объекта отображения функци-
ей CreateFileMapping. В качестве этого параметра можно указывать
следующие параметры:
     FILE_MAP_WRITE или FILE_MAP_ALL_ACCESS - доступ для
записи. Применяются в сочетании с флагом PAGE_READWRITE;
     FILE_MAP_READ – доступ для чтения. Применяется в сочетании с
флагами PAGE_READONLY или PAGE_READWRITE;
     FILE_MAP_COPY – доступ в режиме “Копирование при записи”. При-
меняется в сочетании с флагом PAGE_WRITECOPY.




                                    8