Шаг 4 - Получения списка LANA

Для проверки этого примера, так как у меня один адрес LANA (одна сетевая карта, один протокол NetBEUI) я поменял адрес LANA.

gif/4_1.gif (2192 b)

Для получения списка номеров LANA есть команда NCBENUM. При вызове этой команды в параметр NCB.ncb_buffer необходимо передать структуру LANA_ENUM. Вот как она выглядит:

typedef struct _LANA_ENUM 
{     
	UCHAR length;    
	UCHAR lana[MAX_LANA]; 
} LANA_ENUM; 

Объявим её в программе:

LANA_ENUM lan_num;

Передадим параметры:

ncb.ncb_command =  NCBENUM;
ncb.ncb_buffer = (unsigned char *) &lan_num; 
ncb.ncb_length = sizeof(lan_num);

Выполнить команду NetBios:

uRetCode = Netbios((NCB*) &ncb;

Проверить код возврата:

if (uRetCode != 0)
{
	cout << "error NCBENUM " << endl;
	exit(1);
}

Перечислить все LANA номера:

for (int x=0;x < lan_num.length; x++)
{
	printf( "The LANA Number is: %03u",lan_num.lana[x]);
	cout << endl;
}

Собирайте и запускайте проект. В результате работы на экране Вы увидите число 123.

Команда NCBENUM позволяет получить список чисел LANA.


Загрузить проект | Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Каев Артем - 09.01.2000