Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


Создание и открытие файлов




Для создания новых или открытия уже существующих файлов используется функция СreateFile:

HANDLE CreateFile(

LPCTSTR lpFileName, // имя файла

DWORD dwDesiredAccess, // способ доступа

DWORD dwShareMode, // режимы совместного использова

LPSECUTITY_ATTRIBUTES IpSecurutyAttributes, // атрибуты защиты

DWORD dwGreationDisposition, // создание или открытие файла

DWORD dwFlagsAndAttributes, // флаги и атрибуты

HANDLE hTemplateFile // файл атрибутов

);

lpFileName задается указатель на символьную строку, которая содержит полное имя создаваемого или открываемого файла. Если полное имя файла не указано, то файл с заданным именем создается или ищется в текущем каталоге.

dwDesiredAccess:

0 — приложение может только определять атрибуты устройства;

GENERIC_READ — допускается только чтение данных из файла;

GENERIC_WRITE — допускается только запись данных в файл.

dwShareMode:

FILE_SHARE_READ — файл может использоваться только для совместного чтения несколькими программами;

FILE _SHARE_WRITE — файл может использоваться только для совместной записи несколькими программами;

FILE _SHARE_DELETE — файл может использоваться несколькими программами при условии, что каждая из них имеет разрешение на удаление этого файла.

lpSecurutyAttributes должен задавать атрибуты защиты файла. Пока этот параметр будем устанавливать в null. Это означает, что атрибуты файла устанавливаются по умолчанию, т. е. дескриптор файла не является наследуемым и файл открыт для доступа всем пользователям.

dwСreationDisposition:

СREATE_NEW — создать новый файл, если файл с заданным именем уже существует, то функция заканчивается неудачей;

СREATE _ALWAYS — создать новый файл, если файл с заданным именем уже существует, то он уничтожается и создается новый файл;

OPEN_EXISTING — открыть существующий файл, если файл с заданным именем не существует, то функция заканчивается неудачей;

OPEN_ALWAYS — открыть файл, если файл с заданным именем не существует, то создается новый файл;

TRUNCATE_EXISTING — открыть файл и уничтожить его содержимое, если файл с заданным именем не существует, то функция заканчивается неудачей.

Отметим, что в последнем случае вызывающий процесс должен иметь права записи в файл, т. е. в параметре dwDesiredAccess должен быть установлен GENERIC_WRITE.

dwFiagsAndAttributes:

FILE _ATTRIBUTE_ARCHIVE — архивный файл, который содержит служебную информацию;

FILE _ATTRIBUTE_ENCRYPTED — зашифрованный файл;

FILE _ATTRIBUTE_HIDDEN — скрытый файл;

FILE _ATTRIBUTE_NORMAL — обычный файл, который не имеет, других ат­рибутов;

FILE _ATTRIBUTE_NOT_CONTENT_INDEXED — содержимое файла не индексировано;

FILE _ATTRIBUTE_OFFLINE – файл находится во вспомогательной памяти;

FILE _ATTRIBUTE_READONLY – файл можно только читать;

FILE _ATTRIBUTE_SYSTEM – файл используется операционной системой;

FILE _ATTRIBUTE_TEMPORARY – файл используется для временного хранения данных.

Замечания: атрибут FILE _ATTRIBUTE_NORMAL должен использоваться только один, зашифрованные файлы не могут иметь атрибут FILE _ATTRIBUTE_SYSTEM.

dwFlagsAndAttributes:

FILE_ FLAG_ WRITE_THROUGH – запись данных непосредственно на диск, не используя кэширования;

FILE_ FLAG_OVERLAPPED – обеспечивает асинхронное выполнение операций чтения и записи;

FILE_ FLAG_NO_BUFFERING – не использовать буферизацию при доступе к файлу;

FILE_ FLAG_RANDOM_ACCESS – программа предполагает выбирать записи из файла случайным образом;

FILE _FLAG_SEQUENTІAL_SCAN – программа будет сканировать файл i последовательно;

FILE_FLAG_DELETE_ON_CLOSE – файл будет удален после того, как все дескрипторы этого файла будут закрыты;

FILE_FLAG_BACKUP_SEMANTICS – резервный файл;

hTemplateFile используется при создании файла, атрибуты которого должны соответствовать атрибутам ранее созданного файла. В этом случае параметр hTemplateFile должен содержать дескриптор файла, атрибуты которого копируются в атрибуты создаваемого файла.





Поделиться с друзьями:


Дата добавления: 2016-11-24; Мы поможем в написании ваших работ!; просмотров: 406 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Что разум человека может постигнуть и во что он может поверить, того он способен достичь © Наполеон Хилл
==> читать все изречения...

2510 - | 2325 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.008 с.