Funzione GetUserPreferredUILanguages (winnls.h)

Recupera informazioni sull'impostazione della lingua di visualizzazione. Per altre informazioni, vedere Gestione del linguaggio dell'interfaccia utente.

Sintassi

BOOL GetUserPreferredUILanguages(
  [in]            DWORD   dwFlags,
  [out]           PULONG  pulNumLanguages,
  [out, optional] PZZWSTR pwszLanguagesBuffer,
  [in, out]       PULONG  pcchLanguagesBuffer
);

Parametri

[in] dwFlags

Flag che identificano il formato e il filtro della lingua. I flag seguenti specificano il formato della lingua da usare per l'elenco delle lingue di visualizzazione. I flag si escludono a vicenda e il valore predefinito è MUI_LANGUAGE_NAME.

Valore Significato
MUI_LANGUAGE_ID Recuperare le stringhe della lingua nell'identificatore di lingua
MUI_LANGUAGE_NAME Recuperare le stringhe della lingua nel formato del nome della lingua .

[out] pulNumLanguages

Puntatore al numero di lingue recuperate in pwszLanguagesBuffer.

[out, optional] pwszLanguagesBuffer

facoltativo. Puntatore a un buffer in cui questa funzione recupera un elenco di lingue di visualizzazione ordinato e delimitato da Null, nel formato specificato da dwflags. Questo elenco termina con due caratteri Null.

In alternativa, se questo parametro è impostato su NULL e pcchLanguagesBuffer è impostato su 0, la funzione recupera le dimensioni necessarie del buffer linguistico in pcchLanguagesBuffer. Le dimensioni necessarie includono i due caratteri Null.

[in, out] pcchLanguagesBuffer

Puntatore alla dimensione, in caratteri, per il buffer linguistico indicato da pwszLanguagesBuffer. Al termine della restituzione dalla funzione, il parametro contiene le dimensioni del buffer del linguaggio recuperato.

In alternativa, se questo parametro è impostato su 0 e pwszLanguagesBuffer è impostato su NULL, la funzione recupera le dimensioni necessarie del buffer linguistico in pcchLanguagesBuffer.

Valore restituito

Restituisce TRUE se ha esito positivo o FALSE in caso contrario. Per ottenere informazioni estese sull'errore, l'applicazione può chiamare la funzione GetLastError, che può restituire uno dei codici di errore seguenti:

  • ERROR_INSUFFICIENT_BUFFER. Le dimensioni del buffer fornite non sono sufficienti o non sono state impostate correttamente su NULL.

Se la funzione ha esito negativo per qualsiasi altro motivo, i valori di pulNumLanguages e pcchLanguagesBuffer non sono definiti.

Commenti

Quando si specifica MUI_LANGUAGE_ID, le stringhe di lingua recuperate saranno identificatori di lingua esadecimali che non includono il valore 0x iniziale e avranno una lunghezza di 4 caratteri. Ad esempio, en-US verrà restituito come "0409" e en come "0009".

La lingua di visualizzazione non può includere più di una lingua Language Interface Pack (LIP) che corrisponde a impostazioni locali supplementari. Se l'elenco include più di una di queste lingue e se l'applicazione specifica MUI_LANGUAGE_ID nella chiamata alla funzione, il buffer della lingua contiene "1400" per tale lingua. Questa stringa corrisponde al valore esadecimale di LOCALE_CUSTOM_UI_DEFAULT.

L'elenco di lingue recuperato da questa funzione presenta le caratteristiche seguenti:

  • Ogni lingua rappresenta le impostazioni locali NLS valide.
  • Ogni lingua viene installata nel sistema operativo.
  • L'elenco contiene una voce per ogni lingua, senza voci duplicate.
  • Se l'elenco è vuoto o non soddisfa questi criteri di convalida, viene invece usato l'elenco delle lingue dell'interfaccia utente preferite dal sistema.

Firma C#

[DllImport("Kernel32.dll", CharSet = CharSet.Auto)]
        static extern System.Boolean GetUserPreferredUILanguages(
            System.UInt32 dwFlags,
            ref System.UInt32 pulNumLanguages,
            System.IntPtr pwszLanguagesBuffer,
            ref System.UInt32 pcchLanguagesBuffer
            );

Requisiti

Requisito Valore
Client minimo supportato Windows Vista [solo app desktop]
Server minimo supportato Windows Server 2008 [solo app desktop]
Piattaforma di destinazione Windows
Intestazione winnls.h (include Windows.h)
Libreria Kernel32.lib
DLL Kernel32.dll

Vedere anche

Funzione GetSystemPreferredUILanguages, funzione GetThreadPreferredUILanguages, funzione GetThreadUILanguage, funzione SetThreadPreferredUILanguages, Interfaccia utente multilingue, Funzioni dell'interfaccia utente multilingue