Fungsi IsNLSDefinedString (winnls.h)
Menentukan apakah setiap karakter dalam string memiliki hasil yang ditentukan untuk kemampuan NLS tertentu.
Sintaks
BOOL IsNLSDefinedString(
[in] NLS_FUNCTION Function,
[in] DWORD dwFlags,
[in] LPNLSVERSIONINFO lpVersionInformation,
[in] LPCWSTR lpString,
[in] INT cchStr
);
Parameter
[in] Function
Kemampuan NLS untuk mengkueri. Nilai ini harus COMPARE_STRING. Lihat enumerasi SYSNLS_FUNCTION .
[in] dwFlags
Bendera yang menentukan fungsi. Harus 0.
[in] lpVersionInformation
Arahkan ke struktur NLSVERSIONINFO yang berisi informasi versi. Biasanya, informasi diperoleh dengan memanggil GetNLSVersion. Aplikasi mengatur parameter ini ke NULL jika fungsinya adalah menggunakan versi saat ini.
[in] lpString
Arahkan ke string UTF-16 untuk diperiksa.
[in] cchStr
Jumlah karakter UTF-16 dalam string yang ditunjukkan oleh lpString. Jumlah ini dapat mencakup karakter null yang mengakhiri. Jika karakter null yang mengakhiri disertakan dalam jumlah karakter, itu tidak memengaruhi perilaku pemeriksaan karena karakter null yang mengakhiri selalu ditentukan.
Aplikasi harus menyediakan -1 untuk menunjukkan bahwa string dihentikan null. Dalam hal ini, fungsi itu sendiri menghitung panjang string.
Nilai kembali
Mengembalikan TRUE jika berhasil, hanya jika string input valid, atau FALSE sebaliknya. 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_PARAMETER. Salah satu nilai parameter tidak valid.
Keterangan
Fungsi ini membedakan antara string yang ditentukan dan tidak terdefinisi, sehingga aplikasi seperti Direktori Aktif dapat menolak string dengan titik kode yang tidak terdefinisi. Penggunaan fungsi dapat meminimalkan kebutuhan aplikasi untuk mengindeks ulang databasenya. Untuk informasi selengkapnya, lihat Menangani Pengurutan di Aplikasi Anda.
Misalnya, jika Function diatur ke COMPARE_STRING, IsNLSDefinedString memeriksa titik kode yang tidak terdefinisi, pasangan pengganti yang mewakili karakter Unicode yang tidak terdefinisi, atau pasangan pengganti yang tidak terbentuk. Jika fungsi mengembalikan TRUE untuk string tertentu, hasilnya, seperti yang diambil oleh CompareString atau LCMapString dengan set LCMAP_SORTKEY, dijamin identik selama versi NLS yang sesuai tidak berubah.
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 | Kernel32.lib |
DLL | Kernel32.dll |