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

Lihat juga

Menangani Nama Domain Internasional (IDN)

IdnToAscii

IdnToUnicode

Dukungan Bahasa Nasional

Fungsi Dukungan Bahasa Nasional