Общий вид программы такой:
void main()
{
LANA_ENUM lenum;
if (ResetNetBios(LANA_NUM)!=NRC_GOODRET)
printf("Error Reset \n");
else
printf("God Reset\n");
if (AddNetBiosName(LANA_NUM,SERVER_NAME)!=NRC_GOODRET)
printf("Error Add \n");
else
printf("God Add Name\n");
Proccess();
}
Инициализируем NetBios. Добавляем имя и запускаем процедуру Proccess:
void Proccess()
{
NCB ncb;
UCHAR ucRetCode;
ClearStruct(&ncb);
FillMemory(ncb.ncb_name, sizeof(ncb.ncb_name), ' ');
CopyMemory(ncb.ncb_name, SERVER_NAME, strlen(SERVER_NAME));
FillMemory(ncb.ncb_callname, sizeof(ncb.ncb_callname), ' ');
CopyMemory(ncb.ncb_callname, ALL_CLIENTS, strlen(ALL_CLIENTS));
ncb.ncb_lana_num = LANA_NUM;
ncb.ncb_command = NCBLISTEN;
ucRetCode = Netbios(&ncb);
if (ucRetCode != NRC_GOODRET)
printf("Error Listen\n");
else
printf("Connect !!!!!\n");
}
Посмотрите она ужастно простая. ncb.ncb_name - имя сервера; в ncb.ncb_callname - имя клиента. Имя клиента у меня такое:
#define ALL_CLIENTS "*"
Это значит, что могут подсоединяться все. NCBLISTEN будет ждать обращения. И после этого по результату работы NetBios выдаст сообщение.
Загрузите и скомпилируйте проект. Запустите сервер. Будет просто окно, которое будет ждать. А потом запустите клиента, сервер среагирует и завершит работу !!!!. Примерно должно быть так:
