Функция
CloseHandle закрывает файловый дескриптор.
Параметры:- AX: Дескриптор файла, полученный после вызова функций CreateFile или OpenFile.
Возвращаемое значение:- Если CF = 0: Дескриптор файла успешно закрыт.
- Если CF = 1: AX содержит код ошибки.
Состояние флагов:- Функция влияет на все флаги.
Особенности:- Функция не изменяет значения регистров, кроме AX и флагов.
- title Автор: Довгополов Евгений Сергеевич
- .model small
- .stack 100h
- data segment public
- ____fName___db "test.txt", 0
- ____fBuffer_db 255 dup(0)
- ____rError__db "Произошла ошибка при "
- ____________db "чтении из файла '%s'. "
- ____________db "Код ошибки: %d\0"
- ____fHandle_dw ?
- data ends
- code segment public
- ____assume _ds:data, cs:code
- ____include Handyfar.inc
- ____main proc
- ________call____SetDataSegment
- ________mov_____bl, READ_WRITE
- ________lea_____ax, ds:[fName]
- ________call____OpenFile
- ________mov_____fHandle, ax
- ________mov_____cx, 0FFh
- ________mov_____bx, fHandle
- ________lea_____ax, ds:[fBuffer]
- ________call____ReadFile
- ________jnc_____NoReadFileError
- ________push____ax
- ________lea_____ax, ds:[fName]
- ________push____ax
- ________lea_____ax, ds:[rError]
- ________call____PrintFormatString
- ________add_____sp, 4
- ________jmp_____Done
- ____NoReadFileError:
- ________mov_____ax, fHandle
- ________call____CloseHandle
- ________lea_____ax, ds:[fBuffer]
- ________call____WriteString
- ____Done:
- ________xor_____al, al
- ________call____ExitProcess
- ____main endp
- code ends
- end main