Локальные сети персональных компьютеров. Работа с сервером Novell NetWare


Блокирование файлов - часть 2


/p>

Необязательный параметр mode указывается только для вновь создаваемых файлов (в режиме O_CREAT). Он может принимать следующие значения:

Константа Значение
S_IWRITE Разрешена запись в файл
S_IREAD Разрешено чтение файла

Эти значения можно объединять при помощи логической операции ИЛИ.

Существует еще одна функция для открытия файлов, аналогичная функции open(), - функция sopen():

int sopen(path, access, shflag, mode);

Для использования этой функции в программу необходимо включить следующие строки:

#include <fcntl.h> #include <sys\stat.h> #include <share.h> #include <IO.H>

Параметры этой функции аналогичны параметрам функции open(). Дополнительный параметр shflag может принимать следующие значения:

Константа Значение
SH_COMPAT Режим совместимости. Другие программы могут открывать файл, открытый в режиме совместимости, однако они также должны открывать его именно в режиме совместимости
SH_DENYNONE Другим программам разрешается открывать этот файл для записи и чтения, но не в режиме совместимости
SH_DENYRD Другие программы могут открывать этот файл, но только

на запись

SH_DENYRW Другие программы могут открывать этот файл, но только

на чтение

Приведенные выше константы нельзя объединять логической операцией ИЛИ, можно указывать только одну константу из списка.

Сетевая оболочка Novell NetWare предоставляет более удобные средства для блокирования файлов. Эти средства позволяют блокировать сразу несколько файлов, что может быть необходимо для обновления содержимого сложной базы данных.

Для того чтобы заблокировать один или несколько файлов средствами сетевой оболочки, вначале надо образовать группу, состоящую из блокируемых файлов. Для добавления файлов в группу служит функция LogFile(). Удалить файл из группы можно при помощи функции ClearFile().

После того как группа файлов создана, все эти файлы можно одновременно заблокировать при помощи функции LockFileSet(). Файлы можно блокировать и во время добавления их в группу.




Начало  Назад  Вперед



Книжный магазин