Fungsi IdnToNameprepUnicode (winnls.h)
Mengonversi nama domain internasional (IDN) atau label internasional lainnya ke formulir NamePrep yang ditentukan oleh Network Working Group RFC 3491, tetapi tidak melakukan konversi tambahan ke Punycode. Untuk informasi selengkapnya dan tautan ke standar draf terkait, lihat Menangani Nama Domain Internasional (IDN).
Sintaks
int IdnToNameprepUnicode(
[in] DWORD dwFlags,
[in] LPCWSTR lpUnicodeCharStr,
[in] int cchUnicodeChar,
[out, optional] LPWSTR lpNameprepCharStr,
[in] int cchNameprepChar
);
Parameter
[in] dwFlags
Bendera yang menentukan opsi konversi. Untuk definisi terperinci, lihat parameter dwFlagsidnToAscii.
[in] lpUnicodeCharStr
Arahkan ke string Unicode yang mewakili IDN atau label internasional lainnya.
[in] cchUnicodeChar
Jumlah karakter Unicode dalam string Unicode input yang ditunjukkan oleh lpUnicodeCharStr.
[out, optional] lpNameprepCharStr
Pointer ke buffer yang menerima versi string Unicode input yang dikonversi melalui pemrosesan NamePrep. Atau, fungsi dapat mengambil NULL untuk parameter ini, jika cchNameprepChar diatur ke 0. Dalam hal ini, fungsi mengembalikan ukuran yang diperlukan untuk buffer ini.
[in] cchNameprepChar
Ukuran, dalam karakter, dari buffer yang ditunjukkan oleh lpNameprepCharStr. Aplikasi dapat mengatur ukuran ke 0 untuk mengambil NULL di lpNameprepCharStr dan meminta fungsi mengembalikan ukuran buffer yang diperlukan.
Nilai kembali
Mengembalikan jumlah karakter yang diambil dalam lpNameprepCharStr jika berhasil. String yang diambil dihentikan null hanya jika string Unicode input dihentikan null.
Jika fungsi berhasil dan nilai cchNameprepChar adalah 0, fungsi mengembalikan ukuran yang diperlukan, dalam karakter termasuk karakter null yang mengakhiri jika merupakan bagian dari buffer input.
Fungsi mengembalikan 0 jika tidak berhasil. Untuk mendapatkan informasi kesalahan yang diperluas, aplikasi dapat memanggil GetLastError, yang dapat mengembalikan salah satu kode kesalahan berikut:
- ERROR_INSUFFICIENT_BUFFER. Ukuran buffer yang disediakan tidak cukup besar, atau salah diatur ke NULL.
- ERROR_INVALID_FLAGS. Nilai yang disediakan untuk bendera tidak valid.
- ERROR_INVALID_NAME. Nama yang tidak valid diberikan ke fungsi. Perhatikan bahwa kode kesalahan ini menangkap semua kesalahan sintaks.
- ERROR_INVALID_PARAMETER. Salah satu nilai parameter tidak valid.
- ERROR_NO_UNICODE_TRANSLATION. Unicode tidak valid ditemukan dalam string.
Keterangan
Lihat Keterangan untuk IdnToAscii.
Contoh
NLS: Sampel Konversi Nama Domain Internasional (IDN) menunjukkan penggunaan fungsi ini.
Persyaratan
Klien minimum yang didukung | Windows Vista [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2008 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | winnls.h (termasuk Windows.h) |
Pustaka | Normaliz.lib |
DLL | Normaliz.dll |
Redistribusi | API Mitigasi Nama Domain Internasional Microsoft (IDN) diWindows XP dengan SP2 dan yang lebih baru, atauWindows Server 2003 dengan SP1 |