Реализация функций контроля и управления на базе Win32 API: Методические указания по выполнению лабораторного практикума, страница 29

lpName указывает на имя файла (полное или сокращенное) либо на имя устройства: последовательный порт  "COM1", "COM2" и т.д. параллельный порт  "LPT1", "LPT2" и т.д. порт текущего принтера  "PRN" клиент именованного канала  "\\servername\pipe\pipename". Битовая маска fdwAccess может принимать следующие значения: 0  чтение или запись производиться не будут (для изменения параметров файла); GENERIC_READ  устройство доступно для чтения; GENERIC_WRITE  устройство доступно для записи. Битовая маска dwShareMode  может принимать следующие значения: 0  монопольный доступ к устройству; FILE_SHARE_READ  устройство может открываться для чтения; FILE_SHARE_WRITE  устройство может открываться для записи. Параметр fdwCreate может принимать следующие значения: CREATE_NEW  создание нового файла, если нет еще файла с данным именем; CREATE_ALWAYS  создание нового файла в любом случае; OPEN_EXISTING  открыть файл, если он существует; OPEN_ALWAYS  открыть файл в любом случае; TRUNCATE_EXISTING  открыть существующий файл и установить для него нулевую длину. Битовая маска fdwAttrsAndFlags может принимать следующие значения: FILE_ATIBUTE_ARCHIVE  архивный файл (допускает удаление и резервное копирование) задается автоматически при создании файла; FILE_ATRIBUTE_HIDDEN  скрытый файл (не включается в обычный список каталога); FILE_ATRIBUTE_NORMAL  нормальный файл (все остальные атрибуты отсутствуют); FILE_ATRIBUTE_READONLY  только для чтения; FILE_ATRIBUTE_SYSTEM  системный (используется операционной системой); FILE_ATRIBUTE_COMPRESSED  сжатые файлы или каталоги; FILE_ATRIBUTE_OFFLINE  файл отсутствует, но данные перенесены в хранилище; FILE_ATRIBUTE_TEMPORARY  временный файл (файловая система стремиться поместить его в память, что ускорить доступ).

BOOL ReadFile(hFile, lpBuffer, nNumberOfBytesToRead, lpNumberOfBytesRead, lpOverlapped) HANDLE hFile; // идентификатор управления открытого файла LPVOID lpBuffer; // указатель на буфер неопределенного типа для приема данных DWORD nNumberOfBytesToRead; // указатель на количество байт, которое необходимо считать LPDWORD lpNumberOfBytesRead; // указатель на считанное количество байт LPOVERLAPPED lpOverlapped; // указатель на структуру Overlapped

позволяет читать данные из файла или устройства открытого функцией CreateFile. Функция возвращает true при правильном ее выполнении.

BOOL WriteFile(hFile, lpBuffer, nNumberOfBytesToWrite, lpNumberOfBytesWritten, lpOverlapped) HANDLE hFile; // идентификатор управления открытого файла LPCVOID lpBuffer; // указатель на буфер неопределенного типа для записи данных DWORD nNumberOfBytesToWrite; // количество байт для записи  LPDWORD lpNumberOfBytesWritten; // указатель на записанное количество байт LPOVERLAPPED lpOverlapped; // указатель на структуру Overlapped

ведет запись в файл или устройство открытый функцией CreateFile. Функция возвращает true при правильном ее выполнении.

BOOL CopyFile(lpExistingFile, lpNewFile, fFailIfExists) LPCTSTR lpExistingFile; // указатель на существующий файл LPCTSTR lpNewFile; // указатель на имя файла для копирования BOOL fFailIfExists; // true - отмена функции, если файл для копирования уже существует (false - перезаписать)

копирует данные из существующего файла в новый файл с указанным именем. Функция возвращает true при правильном ее выполнении.

BOOL MoveFile(lpExisting, lpNew) LPCTSTR lpExisting; // указатель на имя существующего файла LPCTSTR lpNew; // указатель на новое имя файла

переносит/переименовывает файл с заданным именем. Функция возвращает true при правильном ее выполнении.

BOOL DeleteFile(lpFileName)  LPCTSTR lpFileName; // указатель на имя файла

удаляет файл с заданным именем. Функция возвращает true при правильном ее выполнении.