OUT PHANDLE FileHandle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes,
OUT PIO_STATUS_BLOCK IoStatusBlock,
IN PLARGE_INTEGER AllocationSize OPTIONAL,
IN ULONG FileAttributes,
IN ULONG ShareAccess,
IN ULONG CreateDisposition,
IN ULONG CreateOptions,
IN PVOID EaBuffer OPTIONAL,
IN ULONG EaLength );
Функция для создания файла.
(Описание также присутствует в 2000 DDK.)
FileHandle
HANDLE файла.
DesiredAccess
Маска доступа, основанная на описаниях FILE_* из .
ObjectAttributes
Имя файла для создания или открытия, дополнительно может содержать путь в строка имени.
Также можно указать корневой каталог, дескриптор безопасности и атрибуты OBJ_CASE_INSENSITIVE и OBJ_INHERIT.
IoStatusBlock
Указатель на структуру IO_STATUS_BLOCK, которая получает финальный статус вызова функции. Может быть:
FILE_CREATED
FILE_OPENED
FILE_OVERWRITTEN
FILE_SUPERSEDED
FILE_EXISTS
FILE_DOES_NOT_EXIST
AllocationSize
Размер файла после создания
FileAttributes
Атрибуты файла:
FILE_ATTRIBUTE_READONLY
FILE_ATTRIBUTE_HIDDEN
FILE_ATTRIBUTE_SYSTEM
FILE_ATTRIBUTE_ARCHIVE
FILE_ATTRIBUTE_NORMAL
FILE_ATTRIBUTE_TEMPORARY
FILE_ATTRIBUTE_OFFLINE
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED
ShareAccess
Указывает на метод совместного использования открытого файла. Может быть нулём или следующей комбинацией флагов:
FILE_SHARE_READ
FILE_SHARE_WRITE
FILE_SHARE_DELETE
CreateDisposition
Указывает, как создать файл. Допустимые значения:
FILE_SUPERSEDE Если файл существует, удалить его и создать новый.
FILE_OPEN Ввод-вывод завершится неудачей, если файл не существует.
FILE_CREATE Ввод-вывод завершится неудачей, если файл не существует.
FILE_OPEN_IF Если файл существует, открыть его. Если нет, создать новый и тогда открыть.
FILE_OVERWRITE Если файл не существует, создать и открыть его. Если существует, открыть его и стереть содержимое.
FILE_OVERWRITE_IF Так же, как FILE_OVERWRITE, но если файла не существует, то ввод-вывод завершится неудачей.
CreateOptions
Опции создания.
EaBuffer
Буфер расширенных атрибутов, содержащий одну или несколько структур FILE_FULL_EA_INFORMATION.