Регулярный Не позволяет переустанавливать, получать широковещательные дейтаграммы, получать "от любого к любому" Блоки управления сетью (NCB), или использовать постоянные имена в любом Блоке управления сетью (NCB).
Превилеги- Не позвроляет переустанавливать или полурованный чать NCB "от любого к любому".
Исключительный Позволяет выполнять любые операции NCB.
int far pascal netbiosopen (netbiosname, netreserved, netopenopt, nethandle) char far * netbiosname; /* Name of NETBIOS network */ char far * netreserved; /* reserved pointer; must be 0 */ unsigned short netopenopt; /* open options */ int far * nethandle; /* word for returned handle */
Функция возвращает 0, если все нормально. Возможными возвратами ошибок являются:
- Управляющая программа (драйвер) NETBIOS не существует; - неверная опция; - открытый режим противоречит существующему; - недоступны ресурсы системы.
HANDLES NETBIOS являются связями процесс-драйвер. Только тот процесс, который создал данный драйвер, может его использовать.
Назначение: Закрывает handle драйвера NETBIOS.
Вызов этой процедуры завершает доступ к драйверу NETBIOS, делает "ошибочным" handle и отменяет все Блоки управления сетью, вызванные процессом, который создал данный идентификатор.
int far pascal netbiosclose (nethandle, netreserved) int nethandle; /* handle to close */ short netreserved; /* reserved, must be zero */
Функция возвращает 0, если все нормально. Возможные возвраты ошибок:
- неверный handle.
Передает Блок управления сетью (NCB) драйверу NETBIOS. handle 0 относится к первому установленному драйверу NETBIOS. Этот драйвер автоматически подвергнут действию процедуры NETBIOSOPEN при необходимости (в регулярном режиме) сразу же, как только вызов NETBIOS обратится к нему используя идентификатор 0.
NETNCB указывает на Блок управления сетью (NCB), который должен быть выполнен (несцепленный NCB) или на слово-связку, предшествующее NCB (сцепленный NCB).
NETNCBOPT определяет опции обработки NCB, которые включают:
Сцепление: 0 отдельных NCB передается (mask 0x3) 1 отдельный NCB с повторением при ошибке 2 NCB сцепливаются с продолжением при ошибке 2 NCB сцепливаются с остановкой при ошибке
Опции сцепления определяют, передается ли отдельный NCB или цепочка NCB. Отдельный Блок NCB может быть выполнен с опцией повторной передачи при ошибке, - в этом случае ядро сети выдает NCB установленное количество раз в ответ на следующие ошибки:
09H - нет доступных ресурсов; 12H - отказано в открытии сеанса; 21H - занят интерфейс.
Сцепленные NCB должны быть в одном и том же сегменте и должны быть связаны 16-битовым указателем смещения, который предшествует NCB. Смещение 0xFFFF определяет конец сцепливания.
Хотя может быть сцеплена любая последовательность команд NCB, не все возможности являются приемлимыми. Например, Вы не можете открыть сеанс и послать пакет данных по нему, связав команды SEND и CALL. Поле NCB_LSN, возвращенное по команде CALL NCB, должно быть скопировано в SEND NCB - ядро сети не поддерживает этого автоматически. Блоки управления сетью (NCB) в цепочке "с продолжением при ошибке" выполняются независимо один от другого, и вне зависимости от ошибок в цепочке; подобная цепочка просто обеспечивает быструю передачу набора Блоков NCB драйверу. Блоки, которые не были обработаны вследствие ошибки ранее в цепи, будут иметь свое поле NCB-CMD-CPLT установленное как 0xB (Команда отменена). Этот тип цепочки обычно должен иметь только режим ожидания. Неожидаемые Блоки NCB принимаются, но в этом случае именно немедленный (а не конечный) возврат определяет, продолжится или остановится процесс.