NETBIOS
От: adontz Грузия http://adontz.wordpress.com/
Дата: 05.01.04 14:13
Оценка:
Начало здесь здесь
Автор: adontz
Дата: 03.01.04
?

Итак ситуация.
Я меняю параметры сетевухи (IP/Gateway/DNS/WINS) через WMI. Всё очень даже хорошо но!!!
Если сделать такое
Залогинится в домен. Сменить параметры сети моей програмой, сменить параметры обратно, то потом сеть не просмаривается, диски не мапятся (основная проблема)
Скорее всего баг программы потому что как утверждает клиент если сменить IP суда-сюда руками, то всё ОК. Воспроизвести ситауцию у себя не удалось. На 2000 (как у клиента), ХР, 2003 всё пашет как часики.
Ошибка выдаваемая при подключении (получаю делая WNetAddConnection2) номер 0x4cf (1231) "The network location cannot be reached. For information about network troubleshooting, see Windows Help."
Или объясните в чём баг (может оповещать кого-то надо об изменении параметров???) или расскажите почему так происходит (чтоб была отмазка )



Как исправить не знаю, а суть проблемы в том что очищается локальный нетбиосовский кэш, а повторной регистрации в сети не происходит...


О! Это интересно!
А что это такое и как бы его заставить пересчитаться? Дело в том, что в рабочей группе такого не происходит.


Как бы заставить перечитаться этот кеш?
A journey of a thousand miles must begin with a single step © Lau Tsu
Re: NETBIOS
От: PK Sly http://www.vocord.ru/
Дата: 12.01.04 07:51
Оценка:
можно попробовать перестартить следующие сервисы:

LmHosts Service: share TCP/IP NetBIOS Helper Service
NetBIOS Driver: fs NetBIOS Interface
NetBT Driver: kernel NetBios over Tcpip
Tcpip Driver: kernel TCP/IP Protocol Driver

Скорее всего, один из них
VAX/VMS rulez!
Re: NETBIOS
От: Gomes Россия http://irazin.ru
Дата: 13.01.04 08:08
Оценка:
Насчет WMI не знаю, но если менять через SetAdapterIpAddress, то необходимо чтобы была запущена служба DHCP Client.
Re[2]: NETBIOS
От: adontz Грузия http://adontz.wordpress.com/
Дата: 19.01.04 15:09
Оценка:
Здравствуйте, Gomes, Вы писали:

G>Насчет WMI не знаю, но если менять через SetAdapterIpAddress, то необходимо чтобы была запущена служба DHCP Client.


Это что за функция? SetAdapterIpAddress
... << RSDN@Home 1.1.0 stable >>
A journey of a thousand miles must begin with a single step © Lau Tsu
Re[3]: NETBIOS
От: Gomes Россия http://irazin.ru
Дата: 20.01.04 08:14
Оценка: 27 (1)
Здравствуйте, adontz, Вы писали:

A>Это что за функция? SetAdapterIpAddress


Недокументированная.

typedef DWORD (WINAPI *_SetAdapterIpAddress )( char *szAdapterGUID, 
                                               DWORD dwDHCP, 
                                               DWORD dwIP, 
                                               DWORD dwMask, 
                                               DWORD dwGateway ); 

HINSTANCE lib = (HINSTANCE) LoadLibrary( T("iphlpapi.dll") ); 

_SetAdapterIpAddress SetAdapterIpAddress = (_SetAdapterIpAddress) GetProcAddress( lib,"SetAdapterIpAddress" ); 

CRegistry Reg;
PWSTR pszGUID    = NULL;
char  szGUID[64] = {0};
DWORD dwSize     = 0;

// Достаем GUID карты (отсюда мне удобней было брать)
Reg.Read( T("SOFTWARE\\Microsoft\\Windows NT\\CurrentVersion\\NetworkCards\\1"), 
          T("ServiceName"), 
          (PVOID&) pszGUID, 
          &dwSize );

WideCharToMultiByte( CP_ACP, 0, pszGUID, -1, szGUID, sizeof( szGUID ), NULL, NULL );

SetAdapterIpAddress( szGUID, 
                     0, 
                     inet_addr("192.168.1.2"),
                     inet_addr("255.255.255.0"),
                     inet_addr("192.168.1.100") );
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.