Funzione GetSystemPreferredUILanguages (winnls.h)
Recupera le lingue dell'interfaccia utente preferite dal sistema. Per altre informazioni, vedere Gestione linguaggio interfaccia utente.
Sintassi
BOOL GetSystemPreferredUILanguages(
[in] DWORD dwFlags,
[out] PULONG pulNumLanguages,
[out, optional] PZZWSTR pwszLanguagesBuffer,
[in, out] PULONG pcchLanguagesBuffer
);
Parametri
[in] dwFlags
Contrassegni che identificano il formato della lingua e il filtro. I flag seguenti specificano il formato da usare per le lingue dell'interfaccia utente preferite dal sistema. I flag sono reciprocamente esclusivi e il valore predefinito è MUI_LANGUAGE_NAME.
Valore | Significato |
---|---|
|
Recuperare le stringhe della lingua nel formato dell'identificatore della lingua . |
|
Recuperare le stringhe di lingua nel formato del nome della lingua . |
Il flag seguente specifica se la funzione consiste nel convalidare l'elenco di lingue (impostazione predefinita) o recuperare l'elenco delle lingue dell'interfaccia utente preferite del sistema esattamente come archiviato nel Registro di sistema.
[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 dell'interfaccia utente preferite del sistema 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 del linguaggio in pcchLanguagesBuffer. Le dimensioni necessarie includono i due caratteri Null
[in, out] pcchLanguagesBuffer
Puntatore alle dimensioni, in caratteri, per il buffer della lingua 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 del linguaggio in pcchLanguagesBuffer.
Valore restituito
Restituisce TRUE se ha esito positivo o FALSE in caso contrario. Per ottenere informazioni sull'errore estese, l'applicazione può chiamare GetLastError, che può restituire uno dei codici di errore seguenti:
- ERROR_INSUFFICIENT_BUFFER. Una dimensione del buffer fornita non è stata sufficiente oppure è stata impostata in modo errato su NULL.
Se la funzione ha esito negativo per qualsiasi altro motivo, i parametri pulNumLanguages e pcchLanguagesBuffer non sono definiti.
Commenti
Quando viene specificato MUI_LANGUAGE_ID, le stringhe di lingua recuperate saranno identificatori di lingua esadecimali
che non includono l'0x iniziale e sarà di 4 caratteri in lunghezza. Ad esempio, en-US verrà restituito
come "0409" e en come "0009".
Le lingue dell'interfaccia utente preferite del sistema non possono includere più lingue del Language Interface Pack (LIP) che corrispondono a un'impostazione locale supplementare. 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.
Se il flag MUI_MACHINE_LANGUAGE_SETTINGS è impostato, questa funzione controlla ogni lingua nell'elenco che rappresenta le impostazioni locali NLS valide. L'elenco recuperato può contenere gli elementi seguenti:
- Lingue non installate nel sistema
- Voci della lingua duplicata
- Stringa vuota
Se il flag di MUI_MACHINE_LANGUAGE_SETTINGS non è impostato, l'elenco di lingue recuperate 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.
Firma 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
);
Requisiti
Client minimo supportato | Windows Vista [solo app desktop] |
Server minimo supportato | Windows Server 2008 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | winnls.h (includere Windows.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |
Vedere anche
Interfaccia utente multilingue