возвращение нетсерверена - PullRequest
0 голосов
/ 04 апреля 2011

Здравствуйте, Я использую NetServerEnum , чтобы получить список компьютеров локальной сети (LAN) Я хотел бы знать его обратные (выходные) адреса Например, должно ли это быть что-то вроде

  • \ 192.168.1.10 \ ComputerName1
  • \ 192.168.1.10 \ ComputerName2
  • \ 192.168.1.10 \ ComputerName3

? Или только имена компьютеров, существующие на сетевом маршрутизаторе?

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

Спасибо.

Ответы [ 2 ]

0 голосов
/ 04 апреля 2011

Имя или IP-адрес сетевого маршрутизатора не возвращается. Только имя компьютера возвращается в поле sv100_name или sv101_name структуры SERVER_INFO_10x как:

  • ComputerName0
  • ComputerName1
  • ComputerName2
  • ...
  • ComputerNameN
0 голосов
/ 04 апреля 2011

NetServerEnum является в основном пережитком дней NetBIOS, поэтому он работает только с «плоскими» (NetBIOS) именами.Вот немного кода, чтобы показать, какие имена он может дать вам:

#include <windows.h>
#include <lm.h>
#include <iostream>

int main() { 

    SERVER_INFO_100 *info;
    DWORD count;
    DWORD total_servers;
    DWORD resume = 0;

    NetServerEnum(NULL, 
        100, 
        (BYTE **)&info, 
        MAX_PREFERRED_LENGTH,
        &count, 
        &total_servers, 
        SV_TYPE_NT, NULL, 
        &resume);

    for (int i=0; i<count; i++)
        std::wcout << info[i].sv100_name << "\n";

    NetApiBufferFree(info);
    return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...