Уроки Iczelion'а




Урок 12. Память и файлы - часть 6


.if eax==TRUE invoke CreateFile,ADDR buffer,\ GENERIC_READ or GENERIC_WRITE ,\ FILE_SHARE_READ or FILE_SHARE_WRITE,\ NULL,OPEN_EXISTING,FILE_ATTRIBUTE_ARCHIVE,\ NULL mov hFile,eax

После того, как пользователь выберет файл для открытия, мы вызываем CreateFile, чтобы открыть файл. Мы указываем, что функция должна попробовать открыть файл для чтения и записи. После того, как файл открыт, функция возвращает хэндл на открытый файл, который мы сохраняем в глобальной переменной для будущего использования. Эта функция имеет следующий синтаксис:

CreateFile proto lpFileName:DWORD,\ dwDesiredAccess:DWORD,\ dwShareMode:DWORD,\ lpSecurityAttributes:DWORD,\ dwCreationDistribution:DWORD\, dwFlagsAndAttributes:DWORD\, hTemplateFile:DWORD

  • dwDesireAccess указывает, какую операцию вы хотите выполнить над файлом.
    • Открыть файл для проверки его атрибутов. Вы можете писать и читать из файла.
    • GENERIC_READ Открыть файл для чтения.
    • GENERIC_WRITE Открыть файл для записи.

  • dwShareMode указывает, какие операции вы хотите позволить выполнять вашим процессам над открытыми файлами.
    • 0 Hе разделять файл с другими процессами.
    • FILE_SHARE_READ позволяет другим процессам прочитать информацию из файла, который был открыт
    • FILE_SHARE_WRITE позволяет другим процессам записывать информацию в открытый файл.
    • lpSecurityAttributes не имеет значения под Windows 95.
    • dwCreationDistribution указывает действие, которое будет выполнено над файлом при его открытии.
      • CREATE_NEW Создание нового файла, если файла не существует.
      • CREATE_ALWAYS Создание нового файла. Функция перезаписывает файл, если он существует.
      • OPEN_EXISTING Окрытие существующего файла.
      • OPEN_ALWAYS Открытие файла, если он существует, в противном случае, функция создает новый файл.
      • TRUNCATE_EXISTING Открытие файла и обрезание его до нуля байтов. Вызывающий функцию процесс должен открывать файл, по крайней мере, с доступом GENERIC_WRITE. Если файл не существует, функция не срабатывает.
      • dwFlagsAndAttributes указывает атрибуты файла
        • FILE_ATTRIBUTE_ARCHIVE Файл является архивным файлом. Приложения используют этот атрибут для бэкапа или удаления.



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