Lock
lock
Функция Блокирует доступ к части файла.
Синтаксис #include
int lock(int handle, long offset, long length);
Файл, содержащий io.h прототип
Описание lock позволяет вам использовать механизм разделения доступа к файлам введенный в DOS 3.x. Перед исполь- зованием этой функции необходимо загрузить SHARE.EXE.
С помощью данной функции можно заблокировать лю- бые неперекрывающиеся области файла. Программа, пытающаяся считывать или записывать в блоки- рованной облясти файла, делает три попытки. Если все три попытки окончились неудачей, то операция заканчивается по ошибке.
Возвращаемое Функция возвращает 0 при успешном значение завершении, и -1 при ошибке.
Переносимость Функция уникальна для систем DOS версий 3.x. Более ранние версии DOS не поддерживают этих вызовов.
Смотрите также
Пример:
#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; }