Fungsi GetSystemPreferredUILanguages (winnls.h)
Mengambil bahasa UI pilihan sistem. Untuk informasi selengkapnya, lihat Manajemen Bahasa Antarmuka Pengguna.
Sintaks
BOOL GetSystemPreferredUILanguages(
[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 yang akan digunakan untuk bahasa UI pilihan sistem. 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 apakah fungsinya adalah untuk memvalidasi daftar bahasa (default) atau mengambil daftar bahasa UI pilihan sistem persis seperti yang disimpan dalam registri.
[out] pulNumLanguages
Arahkan ke jumlah bahasa yang diambil dalam pwszLanguagesBuffer.
[out, optional] pwszLanguagesBuffer
Pilihan. Penunjuk ke buffer di mana fungsi ini mengambil daftar bahasa UI pilihan sistem 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. Setelah berhasil dikembalikan 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 dapat 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 ditentukan.
Keterangan
Ketika MUI_LANGUAGE_ID ditentukan, string bahasa yang diambil akan menjadi pengidentifikasi bahasa heksadesimal
yang tidak menyertakan 0x di depan, dan panjangnya akan menjadi 4 karakter. Misalnya, en-US akan dikembalikan
sebagai "0409" dan en sebagai "0009".
Bahasa UI pilihan sistem tidak dapat menyertakan lebih dari satu bahasa Paket Antarmuka Bahasa (LIP) yang sesuai dengan lokal tambahan. Jika daftar menyertakan lebih dari salah satu bahasa ini, dan jika aplikasi menentukan MUI_LANGUAGE_ID dalam panggilan ke fungsi, buffer bahasa berisi "1400" untuk bahasa tersebut. String ini sesuai dengan nilai heksadesimal LOCALE_CUSTOM_UI_DEFAULT.
Jika bendera MUI_MACHINE_LANGUAGE_SETTINGS diatur, fungsi ini memeriksa setiap bahasa dalam daftar yang mewakili lokal NLS yang valid. Daftar yang diambil dapat berisi item berikut:
- Bahasa yang tidak terinstal pada sistem
- Entri bahasa duplikat
- String kosong
Jika bendera MUI_MACHINE_LANGUAGE_SETTINGS tidak diatur, daftar bahasa yang diambil memiliki karakteristik berikut:
- Setiap bahasa mewakili lokal NLS yang valid.
- Setiap bahasa diinstal pada sistem operasi.
- Daftar ini berisi satu entri untuk setiap bahasa, tanpa entri duplikat.
Tanda Tangan C#
[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
static extern System.Boolean GetSystemPreferredUILanguages(
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