Timeout для функции NetBios()
От: cfmm  
Дата: 17.05.06 17:58
Оценка:
Вызываю функцию NetBios() примерно так:

NCB ncb;
ZeroMemory(&ncb, sizeof(NCB));
ncb.ncb_command = NCBASTAT; 
ncb.ncb_lana_num = lananum; 
ncb.ncb_buffer = (PUCHAR) buffer; 
ncb.ncb_length = lengthBuffer;

Netbios(&ncb);

if( ncb.ncb_retcode == NRC_CMDTMO ) //timeout
{
}


Причем, часто функция NetBios возвращает таймаут в ncb.ncb_retcode, хотя при следующем ее запуске таймаут может и не быть.
Хотелось бы увеличить время таймаута.

В структруе NCB есть поля ncb_rto и ncb_sto, как написано у Anthony Jones and Jim Ohlund:

ncb_rto Specifies the timeout period for receive operations. This value is specified as a multiple of 500-millisecond units. The value 0 implies no timeout. This value is set for NCBCALL and NCBLISTEN commands that affect subsequent NCBRECV commands.

ncb_sto Specifies the timeout period for send operations. You specify the value in 500-millisecond units. The value 0 implies no timeout. This value is set for NCBCALL and NCBLISTEN commands that affect subsequent NCBSEND and NCBCHAINSEND commands.


Про NCBASTAT там ничего не сказано.

Как быть? Как увеличить таймаут для команды NCBASTAT?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.