DnsQuery_A (windns.h)

Jenis fungsi DnsQuery adalah antarmuka kueri generik ke namespace DNS, dan menyediakan antarmuka resolusi kueri DNS kepada pengembang aplikasi. Seperti banyak fungsi DNS, jenis fungsi DnsQuery diimplementasikan dalam beberapa bentuk untuk memfasilitasi pengodean karakter yang berbeda. Berdasarkan pengodean karakter yang terlibat, gunakan salah satu fungsi berikut:

  • DnsQuery_A (untuk pengodean ANSI)
  • DnsQuery_W (untuk pengodean Unicode)
  • DnsQuery_UTF8 (untuk pengodean UTF-8)
Windows 8: Fungsi DnsQueryEx harus digunakan jika aplikasi memerlukan kueri asinkron ke namespace DNS.

Sintaks

DNS_STATUS DnsQuery_A(
  [in]                PCSTR       pszName,
  [in]                WORD        wType,
  [in]                DWORD       Options,
  [in, out, optional] PVOID       pExtra,
  [out, optional]     PDNS_RECORD *ppQueryResults,
  [out, optional]     PVOID       *pReserved
);

Parameter

[in] pszName

Penunjuk ke string yang mewakili nama DNS untuk dikueri.

[in] wType

Nilai yang mewakili Tipe Catatan DNS Rekaman Sumber Daya (RR) yang dikueri. wType menentukan format data yang diarahkan oleh ppQueryResultsSet. Misalnya, jika nilai wTypeDNS_TYPE_A, format data yang diarahkan oleh ppQueryResultsSetDNS_A_DATA.

[in] Options

Nilai yang berisi bitmap Opsi Kueri DNS untuk digunakan dalam kueri DNS. Opsi dapat digabungkan dan semua opsi mengambil alih DNS_QUERY_STANDARD.

[in, out, optional] pExtra

Parameter ini dicadangkan untuk digunakan di masa mendatang dan harus diatur ke NULL.

[out, optional] ppQueryResults

Pilihan. Penunjuk ke penunjuk yang menunjuk ke daftar RR yang terdiri dari respons. Untuk informasi lebih lanjut, lihat bagian Keterangan.

[out, optional] pReserved

Parameter ini dicadangkan untuk digunakan di masa mendatang dan harus diatur ke NULL.

Mengembalikan nilai

Mengembalikan konfirmasi keberhasilan setelah berhasil diselesaikan. Jika tidak, mengembalikan kode kesalahan khusus DNS yang sesuai seperti yang didefinisikan dalam Winerror.h.

Keterangan

Aplikasi yang memanggil fungsi DnsQuery membuat kueri menggunakan nama DNS dan jenis Catatan Sumber Daya (RR) yang sepenuhnya memenuhi syarat, dan mengatur opsi kueri tergantung pada jenis layanan yang diinginkan. Saat opsi DNS_QUERY_STANDARD diatur, DNS menggunakan cache resolver, kueri terlebih dahulu dengan UDP, lalu mencoba kembali dengan TCP jika respons dipotong, dan meminta server untuk melakukan resolusi rekursif atas nama klien untuk menyelesaikan kueri.

Aplikasi harus membebaskan rangkaian RR yang dikembalikan dengan fungsi DnsRecordListFree .

Catatan Saat memanggil salah satu jenis fungsi DnsQuery , ketahuilah bahwa server DNS dapat mengembalikan beberapa rekaman sebagai respons terhadap kueri. Komputer yang multihomed, misalnya, akan menerima beberapa rekaman A untuk alamat IP yang sama. Penelepon harus menggunakan sebanyak mungkin rekaman yang dikembalikan seperlunya.
 
Pertimbangkan skenario berikut, di mana beberapa rekaman yang dikembalikan memerlukan aktivitas tambahan atas nama aplikasi: Panggilan fungsi DnsQuery_A dilakukan untuk komputer multihomed dan aplikasi menemukan bahwa alamat yang terkait dengan catatan A pertama tidak merespons. Aplikasi kemudian harus mencoba menggunakan alamat IP lain yang ditentukan dalam (tambahan) Catatan A yang dikembalikan dari panggilan fungsi DnsQuery_A .

Jika parameter lpstrName diatur ke NULL, fungsi DnsQuery gagal dengan kesalahan INVALID_PARAMETER.

Persyaratan

   
Klien minimum yang didukung Windows 2000 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows 2000 Server [hanya aplikasi desktop]
Target Platform Windows
Header windns.h
Pustaka Dnsapi.lib
DLL Dnsapi.dll

Lihat juga

DNS_RECORD

DnsQueryEx

DnsRecordListFree