lock

 Функция            Блокирует доступ к части файла.

 Синтаксис   #include
             int lock(int handle, long offset, long length);

 Файл, содержащий   io.h
 прототип

 Описание   lock позволяет вам использовать
            механизм разделения доступа к файлам
            введенный в DOS 3.x. Перед исполь-
            зованием этой функции необходимо
            загрузить SHARE.EXE.

            С помощью данной функции можно заблокировать лю-
            бые неперекрывающиеся области файла. Программа,
            пытающаяся считывать или записывать в блоки-
            рованной облясти файла, делает три попытки.
            Если все три попытки окончились неудачей, то
            операция заканчивается по ошибке.

 Возвращаемое       Функция возвращает 0 при успешном
 значение           завершении, и -1 при ошибке.

 Переносимость      Функция уникальна для систем DOS версий
                    3.x. Более ранние версии DOS не
                    поддерживают этих вызовов.

 Смотрите также     open sopen unlock

 Пример:

 #include
 #include
 #include
 #include
 #include
 #include

 int main(void)
 {
     int handle,status;
     long length;
     /* для поддержки разделения файлов необходимо пред-
        варительно загрузить SHARE.EXE. */
     handle = sopen("c:\\autoexec.bat",
          O_RDONLY, SH_DENYNO, S_IREAD);
     if(!handle)
     {
         printf("Ошибка при операции sopen");
         exit(1);
     }
     length = filelength(handle);
     status = lock(handle,0L,length/2);
     if(status == 0)
         printf("Успешная операция блокировки");
     else
         printf("Ошибка при операции блокировки");
     status = unlock(handle,0L,length/2);
     if(status == 0)
         printf("Успешная операция разблокировки");
     else
         printf("Ошибка при операции разблокировки");
     close(handle);
     return 0;
 }