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


Создание, переименование и удаление каталогов


Для работы с сетевыми каталогами вы можете использовать обычные функции MS-DOS, описанные в первом томе "Библиотеки системного программиста". Это возможно благодаря тому, что сетевая оболочка переназначает эти функции, посылая соответствующие запросы файл-серверу.

Однако операции с сетевыми каталогами лучше выполнять с помощью специально предназначенных для этого функций сетевой оболочки. В этом случае, например, при создании каталога вы сможете задавать маску прав доступа к каталогу, а также правильно распознавать ошибочные ситуации, связанные со спецификой сети.

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

int CreateDirectory(BYTE DirectoryHandle, char* DirectoryPath, BYTE MaximumRightsMask);

Параметры DirectoryHandle и DirectoryPath задают создаваемый каталог. Вы можете использовать оба параметра сразу, указывая индекс каталога, в котором вы будете создавать подкаталог (параметр DirectoryHandle ), и имя создаваемого подкаталога (параметр DirectoryPath). Можно также указывать только полный путь к создаваемому каталогу, а в качестве параметра DirectoryHandle задать нулевое значение.

Параметр MaximumRightsMask задает вид доступа, разрешенный пользователям для данного каталога:

Номер бита

Доступ
0 Чтение файлов
1 Запись в файлы
2 Открытие файлов
3 Создание файлов
4 Удаление файлов
5 Можно создавать подкаталоги и задавать для создаваемых подкаталогов права доступа
6 Поиск файлов в каталоге
7 Изменение атрибутов файлов

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

Приведенная ниже программа MAKEDIR позволит вам создавать каталоги и указывать при этом маску прав доступа.

В случае успешного завершения функция CreateDirectory() возвращает нулевое значение, в противном случае - код ошибки:

Код ошибки Значение
0x84 У пользователя недостаточно прав для создания подкаталога в данном каталоге
0x98 Указанный при создании каталога том не существует
0xFF Неправильно указан путь или имя каталога (например, в указанном каталоге уже существует подкаталог с таким же именем)
<


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



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