Как получить полное имя домена Active Directory, членом которого является рабочая станция - PullRequest
1 голос
/ 13 апреля 2010

Я думал, что функция NetGetJoinInformation() может предоставлять имя домена AD, членом которого является рабочая станция, но оно предоставляет имя домена только в формате pre-windows 2000 (Netbios).

Например, если полное имя домена AD равно TestDomain.Lan , то NetGetJoinInformation() возвращает TESTDOMAIN в качестве имени домена.

Нужна функция, которая работает на W2K & XP без .Net

1 Ответ

0 голосов
/ 13 апреля 2010

Я считаю, GetNetworkParams() - это то, что вы ищете. Демо-код Q & D:

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

#pragma comment(lib, "iphlpapi.lib")

int main() { 
    FIXED_INFO *net_params = NULL;
    unsigned long length = 0;

    GetNetworkParams(net_params, &length);
    net_params = static_cast<FIXED_INFO *>(::operator new(length));
    GetNetworkParams(net_params, &length);

    std::cout << "Domain Name: " << net_params->DomainName << "\n";
    ::operator delete(net_params);
    return 0;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...