Электронный учебник:


Курс лекций:


Дополнительно:

Практикум:



Наши хостеры:

Русфинанс банк Автокредит.

--------------------------

imgburn русификатор

--------------------------

Внешняя память

Windows NT поддерживает как собственную файловую систему NTFS, ориентированную на выполнение стандартных файловых операций в мультизадачной среде и имеющую встроенные средства обеспечения безопасности и разграничения доступа, так и файловые системы HPFS OS/2 и FAT MS DOS. Windows 95 использует файловую систему VFAT, базирующуюся на FAT MS DOS, но поддерживающую длинные имена файлов. Однако, API WIN32 использует для выполнения файловых операций универсальные функции, независимо от типа используемой файловой системы.

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

            HANDLE CreateFile(

    LPCTSTR  lpFileName, // указатель на строку с именем файла

    DWORD  dwDesiredAccess, // режим доступа

    DWORD  dwShareMode, // режим разделения 

    LPSECURITY_ATTRIBUTES  lpSecurityAttributes, // указатель на атрибуты  

                                                                                           // безопасности или NULL

    DWORD  dwCreationDistribution, // флаги создания

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

    HANDLE  hTemplateFile // идентификатор файла, атрибуты которого

                                                //копируются для нового файла или NULL );

81

Параметр “Режим доступа” может быть равен нулю (доступ запрещен), GENERIC_READ (доступ на чтение), GENERIC_WRITE (доступ на запись) или GENERIC_READ| GENERIC_WRITE (доступ на чтение и запись). Параметр “Режим разделения” может быть равен нулю (совместное использование файла запрещено), FILE_SHARE_READ(другие процессы могут открывать файл на чтение), FILE_SHARE_WRITE(другие процессы могут открывать файл на запись) или FILE_SHARE_READ| FILE_SHARE_WRITE. Через третий параметр функции передается указатель на структуру SECURITY_ATTRIBUTES или NULL (в этом случае атрибуты безопасности объекта ядра файл определяются системой). Флаги создания определяют действия, выполняемые функцией: CREATE_NEW (создать новый файл), CREATE_ALWAYS (если создаваемый файл уже существует, он перезаписывается), OPEN_EXISTING (открывается существующий файл), OPEN_ALWAYS(если открываемый файл не существет, он будет создан и открыт). Параметр “Атрибуты файла” может принимать значения FILE_ATTRIBUTE_HIDDEN (скрытый файл), FILE_ATTRIBUTE_SYSTEM (системный файл), FILE_ATTRIBUTE_READONLY (файл только для чтения), FILE_ATTRI-BUTE_NORMAL (у файла не установлены вышеперечисленные атрибуты), FILE_ATTRIBU-TE_ARCHIVE (файл был модифицирован), FILE_ATTRIBUTE_COMPRESSED (файл динамически сжимается при записи и восстанавливается при чтении). Атрибуты файла могут использоваться совместно с флагами FILE_FLAG_* и SECURITY_*. Информацию об этих флагах можно найти в описании функции CreateFile в справочной документации или в электронном справочнике WIN32 Programmer’s Reference. Заметим, что использование тех или иных значений параметра “Атрибуты файла” зависит также от установленной файловой системы. Функция CreateFile создает и инициализирует объект ядра файл и возвращает его идентификатор типа HANDLE. В случае ошибки возвращается значение INVA-LID_HANDLE_VALUE. Как обычно, более подробную информацию об ошибке можно получить при помощи функции GetLastError.

предыдущаяследующая