for(;;) { printf("\nВведите путь к файлу или '-':"); gets(FilePath); strupr(FilePath); if(FilePath[0] == '-') break;
// Открываем файл, в котором мы будем блокировать физические записи
if ((FileHandle = open(FilePath, O_RDWR | O_BINARY | O_DENYNONE, SH_DENYNONE)) == -1) { printf("Не могу открыть файл\n"); continue; }
// Задаем начало и размер блокируемой области файла
printf("\nВведите смещение начала записи:"); gets(Buff); RecordStartOffset = atol(Buff);
printf("\nВведите размер записи:"); gets(Buff); RecordLength = atol(Buff);
// Добавляем запись в набор
ccode = LogPhysicalRecord(FileHandle, RecordStartOffset, RecordLength, 0, 0);
if(!ccode) printf("Файл %s добавлен к списку\n", FilePath); else printf("Ошибка при добавлении %02.2X\n", ccode); }
// Блокируем набор файлов
ccode = LockPhysicalRecordSet(0, 0);
if(!ccode) printf("Записи файлов заблокированы\n"); else printf("Ошибка при блокировании " "записей файлов %02.2X\n", ccode);
printf("Для разблокирования записей " "файлов нажмите любую клавишу\n"); getch();
// Разблокируем набор файлов
ReleasePhysicalRecordSet();
// Удаляем набор файлов
ClearPhysicalRecordSet();
// Закрываем файл
close(FileHandle); }