Makro DnsValidateName (windns.h)
Fungsi DnsValidateName memvalidasi status nama DNS tertentu. Seperti banyak fungsi DNS, jenis fungsi DnsValidateName diimplementasikan dalam beberapa formulir untuk memfasilitasi pengodean karakter yang berbeda. Berdasarkan pengodean karakter yang terlibat, gunakan salah satu fungsi berikut:
- DnsValidateName_A (_A untuk pengodean ANSI)
- DnsValidateName_W (_W untuk pengodean Unicode)
- DnsValidateName_UTF8 (_UTF8 untuk pengodean UTF-8)
Sintaks
void DnsValidateName(
p,
f
);
Parameter
p
TBD
f
TBD
Mengembalikan nilai
Tidak ada
Keterangan
Untuk memverifikasi status Host Komputer (label tunggal), gunakan jenis fungsi DnsValidateName dengan DnsNameHostnameLabel dalam Format.
Fungsi DnsValidateName berfungsi dalam perkembangan saat menentukan apakah ada kesalahan dengan nama DNS tertentu, dan kembali setelah menemukan kesalahan pertamanya. Oleh karena itu, nama DNS yang memiliki beberapa kesalahan yang berbeda dapat dilaporkan memiliki kesalahan pertama, dan dapat diperbaiki dan dikirim ulang, hanya untuk menemukan kesalahan kedua.
Fungsi DnsValidateName mencari kesalahan sebagai berikut:
- Mengembalikan ERROR_INVALID_NAME jika nama DNS:
- Lebih panjang dari 255 oktet.
- Berisi label yang lebih panjang dari 63 oktet.
- Berisi dua titik atau lebih berturut-turut.
- Dimulai dengan titik (.).
- Berisi titik (.) jika nama dikirimkan dengan Format diatur ke DnsNameDomainLabel atau DnsNameHostnameLabel.
- Selanjutnya, DnsValidateName mengembalikan DNS_ERROR_NUMERIC_NAME jika nama DNS lengkap hanya terdiri dari karakter numerik (0-9) atau label pertama nama DNS hanya terdiri dari karakter numerik (0-9), kecuali Format diatur ke DnsNameDomainLabel atau DnsNameDomain.
- Kemudian, DnsValidateName mengembalikan DNS_ERROR_NON_RFC_NAME jika nama DNS:
- Berisi setidaknya satu karakter yang diperluas atau Unicode. Catatan Windows 8 atau yang lebih baru: DnsValidateName_W tidak mengembalikan kesalahan jika pengodean Nama Domain Internasional (IDN) diaktifkan.
- Berisi garis bawah (_), kecuali garis bawah adalah karakter pertama dalam label, dalam nama, dikirimkan dengan Format yang diatur ke DnsNameSrvRecord.
- Selanjutnya, DnsValidateName mengembalikan DNS_ERROR_INVALID_NAME_CHAR jika nama DNS:
- Berisi spasi.
- Berisi salah satu karakter yang tidak valid berikut: { | } ~ [ \ ] ^ ' : ; < = > ? & @ ! " # $ % ^ ` ( ) + / ,
- Berisi tanda bintang (*), kecuali tanda bintang adalah label pertama dalam nama multilabel, dikirimkan dengan Format yang diatur ke DnsNameWildcard.
Jika DnsValidateName mengembalikan salah satu kesalahan berikut, pszName harus ditangani sebagai nama host yang tidak valid:
- DNS_ERROR_NUMERIC_NAME
- DNS_ERROR_INVALID_NAME_CHAR
- ERROR_INVALID_NAME
Persyaratan
Persyaratan | Nilai |
---|---|
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 |