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


         

Для переименования уже существующего каталога


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

int RenameDirectory(BYTE DirectoryHandle, char* DirectoryPath, char *NewDirectoryName);

Путь к каталогу, имя которого надо изменить, задается параметрами DirectoryHandle и DirectoryPath таким же образом, как и в предыдущей функции. Параметр NewDirectoryName задает новое имя, которое должно иметь размер не более 15 байт.

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











































Код ошибки Значение
0x8B У пользователя недостаточно прав для переименования подкаталога
0x9B Неправильно задан индекс каталога в параметре DirectoryHandle
0x9С Неправильно указан путь к каталогу
0x9E Неправильно задано имя каталога


Для удаления каталога предназначена функция DeleteDirectory():

int DeleteDirectory(BYTE DirectoryHandle, char* DirectoryPath);

Параметры этой функции задают путь к удаляемому каталогу.

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



























































Код ошибки Значение
0x8A У пользователя недостаточно прав для удаления каталога
0x98 Указанный при удалении каталога том не существует
0x9B Неправильно задан индекс каталога в параметре DirectoryHandle
0x9С Неправильно указан путь к каталогу
0x9F Каталог используется в настоящее время кем-то из пользователей и не может быть удален
0xA0 Удаляемый каталог содержит файлы или подкаталоги, в то время как удалять можно только пустые каталоги


Для создания каталога без помощи функций библиотеки NetWare C Interface вам следует воспользоваться функцией E2h прерывания INT21h:



















































На входе: AH = E2h;
DS:SI = Адрес буфера запроса;
ES:DI = Адрес буфера ответа.
На выходе: AL = Код ошибки или 0, если операция завершилась без ошибок.


Буфер запроса имеет следующий формат:

struct REQUEST { WORD PacketLength; // размер пакета запроса BYTE Function; // должно быть равно 10 BYTE DirectoryHandle; // индекс каталога BYTE MaximumGightsMask; // маска прав каталога BYTE PathLength; // длина пути к каталогу BYTE DirectoryPath[PathLength]; // путь к каталогу };


Содержание  Назад  Вперед





Forekc.ru
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий