Bagikan melalui


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
MUI_LANGUAGE_ID
Ambil string bahasa dalam format pengidentifikasi bahasa .
MUI_LANGUAGE_NAME
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.

Nilai Makna
MUI_MERGE_SYSTEM_FALLBACK
Gunakan fallback sistem untuk mengambil daftar yang sesuai persis dengan daftar bahasa yang digunakan oleh pemuat sumber daya. Bendera ini hanya dapat digunakan dalam kombinasi dengan MUI_MERGE_USER_FALLBACK. Menggunakan bendera dalam kombinasi mengubah efek MUI_MERGE_USER_FALLBACK yang biasa dengan menyertakan bahasa fallback dan netral dalam daftar.
MUI_MERGE_USER_FALLBACK
Ambil daftar komposit yang terdiri dari bahasa UI pilihan utas, diikuti oleh bahasa UI pilihan proses, diikuti oleh bahasa UI pilihan pengguna yang berbeda dari ini, diikuti oleh bahasa UI default sistem, jika belum ada dalam daftar. Jika daftar bahasa UI pilihan pengguna kosong, fungsi mengambil bahasa UI pilihan sistem. Bendera ini tidak dapat digabungkan dengan MUI_THREAD_LANGUAGES.
MUI_THREAD_LANGUAGES
Ambil hanya bahasa UI pilihan utas untuk utas saat ini, atau daftar kosong jika tidak ada bahasa pilihan yang diatur untuk utas saat ini. Bendera ini tidak dapat digabungkan dengan MUI_MERGE_USER_FALLBACK atau MUI_MERGE_SYSTEM_FALLBACK.
MUI_UI_FALLBACK
Ambil daftar bahasa UI pilihan utas lengkap bersama dengan bahasa fallback dan netral terkait. Penggunaan bendera ini setara dengan menggabungkan MUI_MERGE_SYSTEM_FALLBACK dan MUI_MERGE_USER_FALLBACK. (Hanya berlaku untuk Windows 7 dan yang lebih baru).

[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

GetThreadUILanguage

Antarmuka Pengguna Multibahasa

Fungsi Antarmuka Pengguna Multibahasa

SetThreadPreferredUILanguages

SetThreadUILanguage