| Welcome to SapporoWorks! We create stimulating network programs.
By a demand from user, SapporoWorks evolves. | ||||||||||||
| |||||||||||||
| 開発情報 > DNSサーバの取得 | |||||||||||||
|
●●●●概要 現在設定されているDNSサーバのアドレスは、GetNetworkParams()で取得できます。 Iphlpapi.lib のリンクが必要です。 ●●●●ソース
#include <iphlpapi.h> //iphlpapi.lib をリンクする必要がある
void __fastcall TForm1::Button1Click(TObject *Sender)
{
char TmpBuf[1024];
FIXED_INFO * fi;
ULONG Len;
IP_ADDR_STRING * pIPAddr;
Len = sizeof( FIXED_INFO );
// とりあえず、sizeof(FIXED_INFO)だけ、メモリを確保する
fi = (FIXED_INFO *)new char[Len];
if( ERROR_BUFFER_OVERFLOW == GetNetworkParams(fi,&Len)){
// FIXED_INFOへの確保メモリが不足した場合、再度取得し直す
delete [] fi;
fi = (FIXED_INFO *)new char[Len];
}
if (ERROR_SUCCESS==GetNetworkParams( fi, &Len )){
Memo1->Lines->Add("DNS Servers");
// DNSサーバのアドレスは、FIXED_INFO構造体のIpAddress.Stringに格納されている
// また、複数のDNSサーバが有る場合は、pIPAddr ->Nextに次のIpAddress.Stringへのポインタが格納されている
pIPAddr = &(fi->DnsServerList);
while ( pIPAddr ) {
wsprintf(TmpBuf,"\t%s\n", pIPAddr ->IpAddress.String );
Memo1->Lines->Add(TmpBuf);
pIPAddr = pIPAddr ->Next;
}
}
//メモリの解放
delete [] fi;
}
●●●●サンプル サンプルプログラム実行画面
ソースファイルのダウンロード 009-src.LZH 4Kbyte
実行ファイルのダウンロード 009-bin.LZH 9Kbyte
※2004/05/16 加藤康博様に実行ファイルのコンパイルオプション誤りをご指摘いただきました。 |
| 開発情報 > DNSサーバの取得 | |
copyright(c) 1995- SapporoWorks
当サイトはリンクフリーです。リンク時に連絡などは必要有りません。また、どのページにリンクして頂いても構いません。 | |