Объект Секция
Диспетчер Памяти в NT экспортирует единственную структуру
для контроля данных - Объект-Секцию. Подобно другим объектам, Объект-Секция
может быть именованным, то есть имя будет видимо в пространстве имен Диспетчера
Объектов.
Секция может быть использована драйвером для отображения участка памяти
системного адресного пространства (в том числе невытесняемого) в пользовательское
адресное пространство. В этом случае прикладная программа и драйвер получат
в свое распоряжение совместно используемую область памяти, что может быть
полезно, например, при необходимости передачи большого объема данных от
драйвера к приложению.
Секция используется для описания всего, что может быть отображено в память.
Например, для каждого отображаемого в память файла создается объект-Секция.
При этом, сколько бы не было открытий такого файла, объект-Секция всегда
одна. Поскольку все исполняемые файлы загружаются посредством механизма
отображения памяти, единственность объекта-секции всегда гарантирует наличие
только одной копии такого файла в памяти.
При создании секции указывается режим доступа (чтение/запись/исполнение).
Этот режим доступа будет влиять на записи в таблице страниц, относящиеся
к секции.
Функции работы с секциями:
ZwOpenSection();
ZwMapViewOfSection();
ZwUnmapViewOfSection().
|