Fungsi GetThreadPreferredUILanguages (winnls.h)
Mengambil bahasa UI pilihan utas untuk utas saat ini. Untuk informasi selengkapnya, lihat Manajemen Bahasa Antarmuka Pengguna.
Sintaks
BOOL GetThreadPreferredUILanguages(
[in] DWORD dwFlags,
[out] PULONG pulNumLanguages,
[out, optional] PZZWSTR pwszLanguagesBuffer,
[in, out] PULONG pcchLanguagesBuffer
);
Parameter
[in] dwFlags
Bendera yang mengidentifikasi format dan pemfilteran bahasa. Bendera berikut menentukan format bahasa yang akan digunakan untuk bahasa UI pilihan utas. Bendera saling eksklusif, dan defaultnya adalah MUI_LANGUAGE_NAME.
Nilai | Makna |
---|---|
|
Ambil string bahasa dalam format pengidentifikasi bahasa . |
|
Ambil string bahasa dalam format nama bahasa . |
Bendera berikut menentukan pemfilteran untuk fungsi yang akan digunakan dalam mengambil bahasa UI pilihan utas. Bendera default adalah MUI_MERGE_USER_FALLBACK.
[out] pulNumLanguages
Arahkan ke jumlah bahasa yang diambil dalam pwszLanguagesBuffer.
[out, optional] pwszLanguagesBuffer
Opsional. Penunjuk ke buffer di mana fungsi ini mengambil daftar bahasa UI pilihan utas yang dibatasi null, dalam format yang ditentukan oleh dwFlags. Daftar ini berakhir dengan dua karakter null.
Atau jika parameter ini diatur ke NULL dan pcchLanguagesBuffer diatur ke 0, fungsi mengambil ukuran buffer bahasa yang diperlukan di pcchLanguagesBuffer. Ukuran yang diperlukan mencakup dua karakter null.
[in, out] pcchLanguagesBuffer
Penunjuk ke ukuran, dalam karakter, untuk buffer bahasa yang ditunjukkan oleh pwszLanguagesBuffer. Saat pengembalian berhasil dari fungsi, parameter berisi ukuran buffer bahasa yang diambil.
Atau jika parameter ini diatur ke 0 dan pwszLanguagesBuffer diatur ke NULL, fungsi mengambil ukuran buffer bahasa yang diperlukan di pcchLanguagesBuffer.
Mengembalikan nilai
Mengembalikan TRUE jika berhasil atau FALSE sebaliknya. Untuk mendapatkan informasi kesalahan yang diperluas, aplikasi dapat memanggil GetLastError, yang mengembalikan salah satu kode kesalahan berikut:
- ERROR_INSUFFICIENT_BUFFER. Ukuran buffer yang disediakan tidak cukup besar, atau salah diatur ke NULL.
Jika fungsi gagal karena alasan lain, parameter pulNumLanguages dan pcchLanguagesBuffer tidak terdefinisi.
Keterangan
Bergantung pada bendera yang ditentukan oleh aplikasi, fungsi ini dapat mengambil daftar komposit yang terdiri dari bahasa UI pilihan utas, memproses bahasa UI pilihan, bahasa UI pilihan pengguna atau bahasa UI pilihan sistem, dan bahasa UI default sistem. Jika menemukan bahasa duplikat, fungsi hanya mengambil bahasa pertama.
Jika aplikasi telah memanggil SetThreadPreferredUILanguages dengan bendera MUI_CONSOLE_FILTER atau MUI_COMPLEX_SCRIPT_FILTER, GetThreadPreferredUILanguages memfilter bahasa dalam daftar hasil. Fungsi menggantikan bahasa yang tidak dapat ditampilkan konsol dengan bahasa pengganti. Penggantian untuk bahasa ditentukan dari nilai LOCALE_SCONSOLEFALLBACKNAME untuk bahasa tersebut. Untuk informasi konsol selengkapnya, lihat deskripsi SetThreadUILanguage.
Penggunaan MUI_LANGUAGE_NAME direkomendasikan daripada MUI_LANGUAGE_ID karena bendera MUI_LANGUAGE_NAME dapat melakukan pekerjaan yang lebih baik dalam menangani bahasa Paket Antarmuka Bahasa (LIP) yang sesuai dengan lokal tambahan.
Ketika MUI_LANGUAGE_ID ditentukan, string bahasa yang diambil akan menjadi pengidentifikasi bahasa heksadesimal
yang tidak menyertakan 0x terkemuka, dan panjangnya akan menjadi 4 karakter. Misalnya, en-US akan dikembalikan
sebagai "0409" dan en sebagai "0009".
Jika aplikasi menetapkan bendera MUI_LANGUAGE_ID, bahasa UI pilihan utas dapat menyertakan satu atau beberapa bahasa yang sesuai dengan lokal tambahan. Pada pengembalian yang berhasil dari fungsi, buffer bahasa berisi "1400" untuk bahasa apa pun yang sesuai dengan lokal tambahan. Hanya ada satu bahasa seperti itu dalam daftar ini. String "1400" sesuai dengan nilai heksadesimal LOCALE_CUSTOM_UI_DEFAULT. Juga pada pengembalian yang berhasil dari fungsi, pwszLanguagesBuffer berisi "1000" untuk bahasa lain yang sesuai dengan lokal tambahan. String "1000" sesuai dengan nilai heksadesimal LOCALE_CUSTOM_UNSPECIFIED, yang tidak berguna sebagai input ke fungsi apa pun, karena tidak dapat membedakan di antara lokal tambahan.
Tanda Tangan C#
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
static extern System.Boolean GetThreadPreferredUILanguages(
System.UInt32 dwFlags,
ref System.UInt32 pulNumLanguages,
System.IntPtr pwszLanguagesBuffer,
ref System.UInt32 pcchLanguagesBuffer
);
Persyaratan
Klien minimum yang didukung | Windows Vista [hanya aplikasi desktop] |
Server minimum yang didukung | Windows Server 2008 [hanya aplikasi desktop] |
Target Platform | Windows |
Header | winnls.h (termasuk Windows.h) |
Pustaka | Kernel32.lib |
DLL | Kernel32.dll |
Lihat juga
Antarmuka Pengguna Multibahasa