![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Как получить текущий DNS-сервер ? [D6, Win2k]
Vovaka © (2003-03-25 09:39:00)Как получить текущий DNS-сервер ?
Polevi (2003-03-25 11:39:00) [1]const
MAX_HOSTNAME_LEN=128;
MAX_DOMAIN_NAME_LEN=128;
MAX_SCOPE_ID_LEN=256;
type
PIP_ADDR_STRING=^TIP_ADDR_STRING;
TIP_ADDR_STRING=record
Next:PIP_ADDR_STRING;
IpAddress:array[1..16] of char;
IpMask:array[1..16] of char;
Context:DWORD;
end;
type
TFIXED_INFO=record
HostName:array[1..MAX_HOSTNAME_LEN+4] of char;
DomainName:array[1..MAX_DOMAIN_NAME_LEN+4] of char;
CurrentDnsServer:PIP_ADDR_STRING;
DnsServerList:TIP_ADDR_STRING;
NodeType:DWORD;
ScopeID:array[1..MAX_SCOPE_ID_LEN+4] of char;
EnableRouting:DWORD;
EnableProxy:DWORD;
EnableDns:DWORD;
end;
function GetNetworkParams(fixedInfo:Pointer;pOutBufLen:PDWORD):DWORD;stdcall;external "iphlpapi.dll";
function GetDefaultDns:string;
var
buffer:Pointer;
bufSize:DWORD;
begin
bufSize:=0;
GetNetworkParams(nil,@bufSize);
GetMem(buffer,bufSize);
try
GetNetworkParams(buffer,@bufSize);
Result:=(PFIXED_INFO(Buffer).DnsServerList.IpAddress);
finally
FreeMem(Buffer);
end;
end;
Anatoly Podgoretsky (2003-03-25 11:04:00) [2]Vovaka (25.03.03 10:53)
Выписка из справки The Windows Sockets gethostbyaddr function
Vovaka (2003-03-25 11:03:00) [3]Ааа, а я в Indy смотрел... спасибо
Wonder (2003-03-25 10:58:00) [4]Это как? Это где? А что это:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/winsock/winsock/gethostbyaddr_2.asp
Vovaka (2003-03-25 10:53:00) [5]Так это вроде и не функция вовсе...
Wonder (2003-03-25 10:44:00) [6]Ф-ция gethostbyname() тебя спасет :)
Wonder (2003-03-25 10:44:00) [7]Ошибка - gethostbyaddr()
Vovaka (2003-03-25 10:41:00) [8]Спасибо. А надо по списку IP-адресов получить текстовые имена ресурсов, сделать это можно, послав запрос к DNS-серверу, чтобы его явно не указывать, возникла необходимость его как-то получить. Вот.
Anatoly Podgoretsky (2003-03-25 10:39:00) [9]DNS привязаны к соединениям и их может быть много, в том числе и динамические. Совсем не обязательно, что это из настроек TCPIP или что он там указан.
Wonder (2003-03-25 10:32:00) [10]http://msdn.microsoft.com/library/default.asp?url=/library/en-us/iphlp/iphlp/fixed_info.asp
Wonder (2003-03-25 10:26:00) [11]Ну и узнай его в настройках :) То биш в реестре :)
Только вот зачем?
Vovaka (2003-03-25 10:20:00) [12]В настройках TCPIP указывается DNS-сервер, вот его имя(IP-адрес) мне и нужно узнать из дельфей.
Wonder (2003-03-25 10:05:00) [13]Зачем? И что значит "текущий" и "получить"?