Для переименования уже существующего каталога
Для переименования уже существующего каталога следует воспользоваться функцией 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
Рефераты, дипломы, курсовые, выпускные и квалификационные работы, диссертации, учебники, учебные пособия, лекции, методические пособия и рекомендации, программы и курсы обучения, публикации из профильных изданий