Функция
CreateFileEx создаёт файл с указанным именем и атрибутами. Функция
CreateFileEx автоматически выравнивает стек на 4 байта.
Параметры:- Указатель на строку с именем файла, завершающуюся нулём 0.
- Атрибуты создания файла. Атрибутами могут быть:
READ_ONLY:
___Файл только для чтения.
HIDDEN:
______Скрытый файл.
SYSTEM:
______Системный файл.
VOLUME_LABEL: Метка тома.
SUBDIRECTORY: Подкаталог.
ARCHIVE:
_____Архивный файл.
Возвращаемое значение:- Если CF = 0: AX содержит дескриптор файла.
- Если CF = 1: AX содержит код ошибки.
Состояние флагов:Функция влияет на все флаги.
Особенности:- Функция не изменяет значения регистров, кроме AX и флагов.
- title Автор: Довгополов Евгений Сергеевич
- .286C
- .model small
- .stack 100h
- data segment public
- ____fName____db "test.txt", 0
- ____cSuccess db "Файл '%s' был успешно "
- _____________db "создан!\0"
- ____cError___db "Произошла ошибка при "
- _____________db "создании '%s'. Код "
- _____________db "ошибки: %d\0"
- data ends
- code segment public
- ____assume _ds:data, cs:code
- ____include Handyfar.inc
- ____include Handymac.inc
- ____main proc
- ________call____SetDataSegment
- ________push____READ_ONLY
- ________pushs___ds:[fName]
- ________call____CreateFileEx
- ________jnc_____@NoCreateFileError
- ________push____ax
- ________pushs___ds:[fName]
- ________leaax___ds:[cError]
- ________call____PrintFormatString
- ________add_____sp, 4
- ________jmp_____@Done
- ____@NoCreateFileError:
- ________pushs___ds:[fName]
- ________leaax___ds:[cSuccess]
- ________call____PrintFormatString
- ____@Done:
- ________push____0
- ________call____ExitProcessEx
- ____main endp
- code ends
- end main