Bagikan melalui


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

Nilai Makna
MUI_MACHINE_LANGUAGE_SETTINGS
Ambil daftar bahasa UI pilihan sistem yang disimpan, periksa hanya untuk memastikan bahwa setiap nama bahasa sesuai dengan lokal NLS yang valid. Jika bendera ini tidak diatur, fungsi mengambil bahasa UI pilihan sistem di pwszLanguagesBuffer, selama daftar tidak kosong dan memenuhi kriteria validasi. Jika tidak, fungsi mengambil bahasa antarmuka pengguna default sistem dalam buffer bahasa.

[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 diatur dan daftar bahasa UI pilihan sistem kosong, fungsi mengambil string kosong dalam buffer bahasa (dua karakter null, karena merupakan buffer multistring), 0 untuk jumlah bahasa, dan 2 untuk ukuran buffer.

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

GetSystemDefaultUILanguage

GetThreadPreferredUILanguages

GetThreadUILanguage

GetUserPreferredUILanguages

Antarmuka Pengguna Multibahasa

Fungsi Antarmuka Pengguna Multibahasa

SetThreadPreferredUILanguages