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


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


/p>

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

struct REQUEST { WORD PacketLength; // размер пакета запроса BYTE Function; // должно быть равно 6 BYTE VolumeNumber; // номер тома };

В этом буфере вам надо заполнить все поля, указав размер буфера и номер тома, для которого необходимо получить имя. Код функции в поле Function должен иметь значение 6.

Приведем формат буфера ответа:

struct REPLAY { WORD PacketLength; // размер пакета BYTE VolumeNameLength; // длина имени тома BYTE VolumeName[16]; // имя тома };

Если указанному номеру тома не соответствует ни один том, поле VolumeNameLength будет содержать нулевое значение.

Для выполнения обратной операции - получения номера тома по его имени - можно воспользоваться той же функцией E2h прерывания INT 21h. Но формат буферов запроса и ответа будет другой.

Формат буфера запроса:

struct REQUEST { WORD PacketLength; // размер пакета запроса BYTE Function; // должно быть равно 5 BYTE NameLength; // длина имени тома BYTE VolumeName[16]; // имя тома };

В этом буфере вам надо указать размер буфера, длину имени тома и имя тома, для которого необходимо получить номер имени. Код функции в поле Function должен иметь значение 5.

Приведем формат буфера ответа:

struct REPLAY { WORD PacketLength; // размер пакета BYTE VolumeNumber; // номер имени тома };

Если том, имя которого указано в буфере запроса, смонтирован, регистр AL после возврата из функции будет равен нулю.

Для получения информации о смонтированном томе по номеру тома можно воспользоваться функцией DAh прерывания INT 21h:

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

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

struct REPLAY { WORD SectorsPerBlock; WORD TotalBlocks; WORD AvailableBlocks; WORD TotalDirectorySlots; WORD AvailableDirectorySlots; BYTE VolumeName[16]; WORD Removable; };

Назначение полей этой структуры аналогично назначению параметров функции GetVolumeInfoWithNumber().




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