Операционные системы. Программирование в операционной среде Windows

86 FILE CURRENT - точка отсчета - текущая позиция; FILE END - точка отсчета - конец файла. Е[ример вызова функции для установки указателя на начало файла: SetFilePointer(hMyFile, О, NULL, FILE_BEGIN); Е[осле работы с файлом его необходимо закрыть, для этого используется функция CloseHandle: BOOL CloseHandle( HANDLE hObject); // дескриптор объекта для закрытия В случае успешного завершения функция возвраш,ает ненулевое значение. Е[ример вызова: CloseHandle(hMyFile); 6.5. Создание ОЯ «проекция файла» Е[роецируемые файлы позволяют резервировать участок адресного пространства и передавать ему физическую память. F[pn этом физическая память не выделяется из страничного файла, а берется из файла, уже находяш,егося на диске. Как только файл спроецирован в память, к нему можно обраш,аться так, будто он целиком в нее загружен. Е[роецируемые файлы применяются: • для загрузки и выполнения ЕХЕ- и DLL-файлов. Это позволяет суш,ественно экономить как на размере страничного файла, так и на времени, необходимом для подготовки приложения к выполнению; • для доступа к файлу данных, размещенному на диске. Это позволяет обойтись без операций файлового ввода-вывода и буферизации его содержимого; • для разделения данных между несколькими процессами, выполняемыми на одной машине. Для работы с проекциями файлов требуется создать или открыть ОЯ «файл» для дискового файла, проецируемого в память; создать ОЯ «проекция файла», чтобы сообщить системе размер файла и способ доступа к нему; определить, как спроецировать в адресное пространство процесса ОЯ «проекция файла» — целиком или частично. Закончив работу с проецируемым в память файлом, следует сообщить системе об отмене проецирования на адресное пространство процесса ОЯ «проекция файла» и закрыть этот объект, а затем закрыть ОЯ «файл». Создать ОЯ «проекция файла» с помощью функции CreateFileMapping: HANDLE CreateFlleMapping(HANDLE hFile, PSECURITY_ATTRIBUTES psa, DWORD fdwProtect, DWOPD dwMaximumSizeHigh, DWORD dwMaximumSizeLow, PCSTR pszName); Параметр hFile - описатель файла, проецируемого на адресное пространство процесса. Параметр psa — указатель на структуру SECURITY ATTRIBUTES, для защиты по умолчанию присваивается значение NULL. Параметр fdwProtect - атрибуты защиты ОЯ «проекция

RkJQdWJsaXNoZXIy MTY0OTYy