logo
Работа с атрибутами файлов

1.1 Универсальная функция CreateFile()

Функция создания нового файла, открытия существующего файла или каталога CreateFile:

HANDLE CreateFile(

LPCTSTR lpFileName,

DWORD dwDesiredAccess,

DWORD dwShareMode,

LPSECURITY_ATTRIBUTES lpSecurityAttributes,

DWORD dwCreationDistribution,

DWORD dwFlagsAndAttributes,

HANDLE hTemplateFile

);

Функция CreateFile создает или открывает объекты (файлы, конвейеры и пр.) и возвращает дескриптор, который может использоваться при обращении к объекту.

Параметры:

lpFileName - указатель на строку с нулевым символом в конце, которая определяет имя создаваемого или уже существующего объекта (файл, конвейер, mailslot, ресурс связи, дисковое устройство, пульт, или каталог).

dwDesiredAccess - определяет тип доступа к открываемому объекту.

DwShareMode - набор битовых флажков, которые определяют режимы совместного использования открываемого или создаваемого объекта.

lpSecurityAttributes - указатель на дескриптор защиты или NULL, если этот дескриптор не используется.

DwCreationDistribution - определяет действия функции, если приложение пытается создать объект, который уже существует.

DwFlagsAndAttributes - определяет атрибуты и флаги для объекта.

HTemplateFile - определяет дескриптор к файлу шаблона. Файл шаблона обеспечивает атрибуты файла и расширенные атрибуты для создаваемого файла.

Возвращаемые значения:

1. Если функция заканчивается успешно, возвращаемое значение - идентификатор созданного или открытого объекта.

2. Если функция заканчивается аварийно, возвращаемое значение INVALID_HANDLE_VALUE. Чтобы получить расширенную информацию об ошибке, необходимо вызвать функцию GetLastError.