Программирование на Ассемблере


         

Обзор функций WINDOWS API для работы с файлами


Файл – это объект операционной системы. Это значит, что ОС создает для каждого файла таблицу, куда заносит информацию о файле, включающую в себя имя файла, его местоположение на диске, текущее положение указателя, режимы открытия и т.д.

Для создания записи о файле используется функция CreateFile:

HANDLE CreateFile(

    LPCTSTR lpFileName,       // Имя файла (с нулевым завершителем)

    DWORD dwDesiredAccess,           // Режим доступа к файлу (read-write)

    DWORD dwShareMode,    // Возможность share

    LPSECURITY_ATTRIBUTES lpSecurityAttributes,           // атрибуты безопасности

    DWORD dwCreationDistribution,  // Режимы создания

    DWORD dwFlagsAndAttributes,    // Атрибуты файла

    HANDLE hTemplateFile    // Дескриптор файла с атрибутами копирования

   );      

Параметр dwDesiredAccess может принимать значения.

GENERIC_READ          Разрешено чтение.

GENERIC_WRITE         Разрешена запись. Может задаваться совместно с первым.

(см. файл WINNT.H)

#define GENERIC_READ                  (0x80000000L)

#define GENERIC_WRITE                 (0x40000000L)

#define GENERIC_EXECUTE          (0x20000000L)

#define GENERIC_ALL                     (0x10000000L)

DwShareMode

-возможность совместного использования. Если параметр равен 0, файл нельзя совместно использовать.

Допустимые значения параметров:

FILE_SHARE_DELETE         Windows NT only: Разрешается только тогда, когда файл удаляется.

FILE_SHARE_READ    Разрешается только для чтения.

FILE_SHARE_WRITE   Разрешается только для записи.

LpSecurityAttributes – указатель на структуру SECURITY_ATTRIBUTES с целью задания возможности наследования файла процессом – потомком. Если параметр равен NULL, дескриптор файла не может наследоваться.

Windows NT: lpSecurityDescriptor определяет дескриптор безопасности для дескриптора. Если он равен NULL, дескриптор получает параметры безопасности, принятые по умолчанию, если файловая система поддерживает такие атрибуты. Для Windows 95 эта структура игнорируется.



Содержание  Назад  Вперед