![]() |
Главная Случайная страница Контакты | Мы поможем в написании вашей работы! | |
|
Функция создаёт указатель на новое устройство типа:
· Файл
· Канал
· mailslot (почтовый канал)
· коммуникационный ресурс (например COM порт)
· дисковые устройства
· консоли
· директории (открывает их)
Все эти функции описаны в одном файле windows.h.
Описание:
HANDLE CreateFile( LPCTSTR lpFileName, // Указатель на имя файла (устройства) DWORD dwDesiredAccess, //Параметры доступа DWORD dwShareMode, //Разделяемый доступ LPSECURITY_ATTRIBUTES lpSecurityAttributes, //безопасность DWORD dwCreationDistribution,// Описание DWORD dwFlagsAndAttributes, // Атрибуты файла HANDLE hTemplateFile // Файл шаблона ); |
Файл создается следующим образом:
{ Handle FileHandle; FileHandle=CreateFile("file1.txt",GENERIC_READ | GENERIC_WRITE, FILE_SHARE_WRITE | FILE_SHARE_READ, NULL, CREATE_NEW, FILE_ATTRIBUTE_NORMAL | FILE_FLAG_OVERLAPPED, 0); CloseHandle(FileHandle); } |
Теперь рассмотрим используемые параметры:
· параметры GENERIC_READ и GENERIC_WRITE определяют доступ на чтение и запись. Однако можно указать что-то одно в зависимости от ваших потребностей. Если в качестве этого параметра указать 0, то в этом случае функция отработает успешно, однако никакого доступа к файлу не получит. Этот вариант удобно использовать для теста существования файла.
· параметры FILE_SHARE_WRITE or FILE_SHARE_READ — общий доступ на чтение и запись к данному файлу. То есть файл будет доступен при одновременном использовании несколькими процессами.
· следующий параметр — атрибут безопасности неопределен. То есть все дескрипторы будут доступны дочерним процессам вашего приложения.
· параметр CREATE_NEW указывает на создание нового файла. Если файл с заданным именем существует, то будет возвращен код ошибки. Если использовать параметр CREATE_ALWAYS, то в этом случае, если файл существует, то он будет перезаписан.
· параметр FILE_ATTRIBUTE_NORMAL определяет файлу стандартные атрибуты. А если указывать флаг FILE_FLAG_OVERLAPPED, то файл будет доступен в асинхронном режиме.
· так как мы не используем шаблоны, то в качестве этого параметра указываем ноль.
Дата публикования: 2015-10-09; Прочитано: 311 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!