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


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


Функция LogFile() имеет следующий прототип:

int LogFile(char *FileName, BYTE LockDirective,WORD Timeout);

Параметр FileName задает путь к файлу, который необходимо добавить в группу.

Параметр LockDirective определяет, надо ли блокировать файл сразу после его добавления в группу:

0x00 Файл добавляется в группу, но не блокируется
0x01 Добавляемый файл блокируется для использования заблокировавшей его программой в монопольном режиме
0x03 Добавляемый файл блокируется для совместного использования

Параметр Timeout определяет период времени (в 18-х долях секунды), в течение которого файл-сервер будет ожидать, если файл нельзя заблокировать немедленно. Если для этого параметра задать нулевое значение, ожидание выполняться не будет.

Функция возвращает ноль при успешном завершении или код ошибки:

Код ошибки Значение
0x96 Мало памяти на файл-сервере
0xFE Истек период ожидания, заданный параметром Timeout, но файл так и не удалось заблокировать
0xFF Сбой при блокировании файла

Для удаления файла из группы можно использовать функцию ClearFile():

int ClearFile(char *FileName);

Единственный параметр функции указывает путь к файлу, удаляемому из общего списка файлов, предназначенных для блокирования. Функция возвращает нулевое значение или значение 0xFF, если файла с указанным путем нет в списке.

Функция ClearFileSet() позволяет разблокировать все файлы группы и удалить группу:

void ClearFileSet(void);

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

int LockFileSet(WORD Timeout);

Параметр Timeout используется так же, как и при вызове функции LogFile().

Функция возвращает 0 при успешном завершении или код ошибки:

Код ошибки Значение
0xFE Истек период ожидания, заданный параметром Timeout, но файл так и не удалось заблокировать
0xFF Сбой при блокировании файла

После того как группа файлов заблокирована, вы можете разблокировать отдельные файлы или всю группу сразу.

Для разблокирования отдельных файлов используйте функцию ReleaseFile():




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



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