Сборник по задачам и примерам Assembler



         

Файлы, отображаемые в память - часть 4


I вие выполняет функция UnmapViewOfFile. BOOL UnmapViewOfFile( LPCVOID ipBaseAddress);

Эта функция имеет единственный параметр — IpBaseAddress, который является значением, возвращенным функцией MapViewOfFile. С помощью функции UnmapViewOfFile необходимо разрывать каждое из отображений, созданных последовательностью вызовов MapViewOfFile, сохраняя при этом их соответствия. Также имейте в виду, что если функция MapViewOfFile была вызвана с параметром FILEMAPCOPY, то после вызова UnmapViewOfFile теряются все внесенные в отображенные данные изменения.

5. Далее нужно закрыть объект ядра проекция файла. В принципе, этот и сле-ivmmuu шяг нр яиляютг.я обязательными, так как система в процессе за-

вершения работы приложения освободит все ресурсы. Освобождение

объекта ядра проекция файла производится функцией CloseHandle.

BOOL CloseHandle( HANDLE hObject):

Функции CloseHandle передается единственный параметр hObject — де.

скриптор, полученный как результат вызова функции CreateFileMapping.

6. Требуется закрыть объект ядра файл. Освобождение объекта ядра файл также производится функцией CloseHandle.

BOOL CloseHandle( HANDLE hObject );

Функции CloseHandle передается единственный параметр hObject — дескриптор, полученный как результат вызова функции CreateFile.

Пример программы (prg07_36.asm), демонстрирующей порядок использования файлов, отображаемых в адресное пространство процесса, достаточно велик и по этой причине вынесен на дискету. Работа программы проста и заключается в следующем: необходимо вывести содержимое некоторого файла на экран — в окно консоли. Имя исходного файла вводится с клавиатуры.

 




Содержание  Назад