Funzione GetThreadPreferredUILanguages (winnls.h)
Recupera le lingue dell'interfaccia utente preferite del thread per il thread corrente. Per altre informazioni, vedere Gestione del linguaggio dell'interfaccia utente.
Sintassi
BOOL GetThreadPreferredUILanguages(
[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 le lingue dell'interfaccia utente preferite del thread. I flag si escludono a vicenda e il valore predefinito è MUI_LANGUAGE_NAME.
Valore | Significato |
---|---|
|
Recuperare le stringhe della lingua nel formato dell'identificatore di lingua . |
|
Recuperare le stringhe della lingua nel formato del nome della lingua . |
I flag seguenti specificano il filtro per la funzione da usare per recuperare le lingue dell'interfaccia utente preferite del thread. Il flag predefinito è MUI_MERGE_USER_FALLBACK.
[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 delimitate 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 sull'errore estese, l'applicazione può chiamare GetLastError, che restituisce 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 parametri pulNumLanguages e pcchLanguagesBuffer non sono definiti.
Commenti
A seconda dei flag specificati dall'applicazione, questa funzione può recuperare un elenco composito costituito dalle lingue dell'interfaccia utente preferite dal thread, elaborare le lingue preferite dell'interfaccia utente, le lingue dell'interfaccia utente preferite dall'utente o le lingue dell'interfaccia utente preferite dal sistema e la lingua predefinita dell'interfaccia utente di sistema. Se rileva un linguaggio duplicato, la funzione recupera solo il primo linguaggio.
Se l'applicazione ha chiamato SetThreadPreferredUILanguages con il flag MUI_CONSOLE_FILTER o MUI_COMPLEX_SCRIPT_FILTER, GetThreadPreferredUILanguages filtra le lingue nell'elenco risultati. La funzione sostituisce le lingue che la console non può visualizzare con una lingua sostitutiva. La sostituzione di una lingua viene determinata dal valore di LOCALE_SCONSOLEFALLBACKNAME per la lingua. Per altre informazioni sulla console, vedere la descrizione di SetThreadUILanguage.
L'uso di MUI_LANGUAGE_NAME è consigliato su MUI_LANGUAGE_ID perché il flag MUI_LANGUAGE_NAME può eseguire un lavoro migliore per gestire le lingue del Language Interface Pack (LIP) corrispondenti alle impostazioni locali supplementari.
Quando si specifica MUI_LANGUAGE_ID, le stringhe di lingua recuperate saranno identificatori di lingua esadecimali
che non includono lo 0x iniziale e avranno una lunghezza di 4 caratteri. Ad esempio, en-US verrà restituito
come "0409" e en come "0009".
Se l'applicazione imposta il flag di MUI_LANGUAGE_ID, le lingue dell'interfaccia utente preferite del thread possono includere una o più lingue corrispondenti alle impostazioni locali supplementari. Al termine della restituzione dalla funzione, il buffer della lingua contiene "1400" per qualsiasi lingua corrispondente a impostazioni locali supplementari. In questo elenco può essere presente una sola lingua di questo tipo. La stringa "1400" corrisponde al valore esadecimale di LOCALE_CUSTOM_UI_DEFAULT. Inoltre, quando viene restituito correttamente dalla funzione, pwszLanguagesBuffer contiene "1000" per qualsiasi altra lingua corrispondente a impostazioni locali supplementari. La stringa "1000" corrisponde al valore esadecimale di LOCALE_CUSTOM_UNSPECIFIED, che non è utile come input per qualsiasi funzione, perché non può distinguere tra le impostazioni locali supplementari.
Firma 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
);
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 (include Windows.h) |
Libreria | Kernel32.lib |
DLL | Kernel32.dll |
Vedere anche
Interfaccia utente multilingue