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


Таблица томов файл-сервера


Каждый файл-сервер хранит информацию о сетевых томах в таблице томов (Volume Table), состоящей из 256 элементов. Номера элементов используются для адресации томов и называются номерами томов (Volume Number).

Зная номер тома, программа может получить такие важные характеристики тома, как его объем, размер свободного пространства на томе, максимальное количество каталогов, которое можно создать на томе, количество уже созданных каталогов. Кроме того, программа может определить, является ли данный том файл-сервера съемным.

Одна из важных задач - определение имен и номеров томов, смонтированных на файл-сервере.

Для определения имен смонтированных томов лучше всего воспользоваться функцией GetVolumeName() из библиотеки NetWare C Interface:

int GetVolumeName(int VolumeNumber, char*VolumeName);

Первый параметр функции задает номер тома, для которого необходимо получить имя. На сервере Novell NetWare версии 2.2 можно создать 32 тома, версия 3.11 допускает существование 64 томов. Поэтому диапазон возможных значений для первого параметра в зависимости от версии NetWare может быть от 0 до 31 или от 0 до 63.

Второй параметр - указатель на буфер размером 16 байт, в который будет записано имя тома.

В случае ошибки функция возвращает ненулевое значение. Например, если вы укажете недопустимый номер тома, функция возвратит значение 0x98.

Для определения списка смонтированных томов вы можете вызывать эту функцию в цикле, задавая ей номера томов в диапазоне от 0 до 63. Если функция вернет ненулевое значение или если на месте первой буквы имени тома будет двоичное нулевое значение, то это означает, что на данном сервере больше нет смонтированных томов.

Можно решить и обратную задачу - по имени тома определить его номер. Для этого предназначена функция GetVolumeNumber():

int GetVolumeNamber(char*VolumeName, int *VolumeNumber);

Для тома, имя которого задается первым параметром, функция определяет номер тома и записывает его по адресу, заданному вторым параметром. Если функция вернет ненулевое значение, указанному номеру тома не соответствует никакой том.




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



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