Создание, открытие, закрытие и удаление файла
Закрытие файла
Закрытие файла производится функцией CloseHandle:
B00L CloseHandle(HANDLE hObject);
Функция имеет один параметр размером в двойное слово – дескриптор, полученный при открытии файла функцией CreateFile.
При удачном завершении функция возвращает ненулевое значение в регистре ЕАХ. В случае неудачи функция возвращает в регистре ЕАХ значение NULL.
Win32 поддерживает несколько функций для часто используемых операций над файлами: копирование, перемещение и переименование файлов.
Копирование файла
Для копирования файлов в Win32 используется функция CopyFile:
B00L CopyFile(LPCTSTR lpExistingFileName. LPCTSTR ipNewFileName. B00L bFailIfExists):
Параметрами этой функции являются:
- lpExistingFileName – указатель на ASCIIZ-строку с именем файла-источника;
- lpNewFileName – указатель на ASCIIZ-строку с именем файла-приемника, который может и не существовать;
- bFailIfExists – параметр, задаваемый равным 0 или 1, в зависимости от условий копирования:
- 0 – при наличии файла он удаляется и создается новый с содержимым файла-источника;
- 1 – при наличии файла копирование не производится, а функция CopyFile возвращает ошибку.
При удачном завершении функция возвращает ненулевое значение в регистре ЕАХ. В случае неудачи функция возвращает в регистре ЕАХ значение NULL.
;prg07_29.asm – Win32-nporpaммa консольного приложения для исследования ;работы функции CopyFile API Win32. ;…………………………………………………. .data TitleText db 'Копирование файлов в Win32'.О s_file db "p".O;имя входного файла d_file db "pi".0;имя выходного файла .code mov eax.l push eax push offset d_file push offset s_file call CopyFileA cmp eax.O jz exit.выход в случае неудачи :………