Condividi tramite


Funzione SetLocaleInfoW (winnls.h)

Imposta un elemento di informazioni nella parte dell'utente che esegue l'override delle impostazioni locali correnti. Questa funzione non imposta le impostazioni predefinite del sistema.

Attenzione Poiché questa funzione modifica i valori per tutte le applicazioni, deve essere chiamato solo dalla funzionalità delle opzioni internazionali e della lingua di Pannello di controllo o da un'utilità simile. Se si apporta una modifica internazionale ai parametri di sistema, l'applicazione chiamante deve trasmettere il messaggio WM_SETTINGCHANGE per evitare di causare instabilità in altre applicazioni.
 

Sintassi

BOOL SetLocaleInfoW(
  [in] LCID    Locale,
  [in] LCTYPE  LCType,
  [in] LPCWSTR lpLCData
);

Parametri

[in] Locale

Per la versione ANSI della funzione, l'identificatore delle impostazioni locali delle impostazioni locali con la tabella codici usata per interpretare le informazioni lpLCData . Per la versione Unicode, questo parametro viene ignorato.

È possibile utilizzare la macro MAKELCID per creare un identificatore delle impostazioni locali o usare uno dei valori predefiniti seguenti.

Sono supportati anche gli identificatori di impostazioni locali personalizzati seguenti.

[in] LCType

Tipo di informazioni sulle impostazioni locali da impostare. Per le costanti valide, vedere la sezione "Costanti usate nel parametro LCType di GetLocaleInfo, GetLocaleInfoEx e SetLocaleInfo" di Costanti informazioni sulle impostazioni locali. L'applicazione può specificare un solo valore per ogni chiamata, ma può usare l'operatore OR binario per combinare LOCALE_USE_CP_ACP con qualsiasi altra costante.

[in] lpLCData

Puntatore a una stringa con terminazione Null contenente le informazioni sulle impostazioni locali da impostare. Le informazioni devono essere nel formato specifico della costante specificata. L'applicazione usa una stringa Unicode per la versione Unicode della funzione e una stringa ANSI per la versione ANSI.

Valore restituito

Restituisce un valore diverso da zero se ha esito positivo o 0 in caso contrario. Per ottenere informazioni estese sull'errore, l'applicazione può chiamare GetLastError, che può restituire uno dei codici di errore seguenti:

  • ERROR_ACCESS_DISABLED_BY_POLICY. I criteri di gruppo del computer o dell'utente non hanno consentito questa operazione.
  • ERROR_INVALID_ACCESS. Il codice di accesso non è valido.
  • ERROR_INVALID_FLAGS. I valori specificati per i flag non sono validi.
  • ERROR_INVALID_PARAMETER. Uno dei valori dei parametri non è valido.

Commenti

Questa funzione scrive nel Registro di sistema, in cui imposta i valori associati a un determinato utente anziché a una determinata applicazione. Questi valori del Registro di sistema influiscono sul comportamento di altre applicazioni eseguite dall'utente. Come regola, un'applicazione deve chiamare questa funzione solo quando l'utente ha richiesto in modo esplicito le modifiche. Le impostazioni del Registro di sistema non devono essere modificate per praticità di una singola applicazione.

Per il parametro LCType , l'applicazione deve impostare LOCALE_USE_CP_ACP per usare la tabella codici ANSI del sistema operativo anziché la tabella codici delle impostazioni locali per la conversione di stringhe.

Quando la versione ANSI di questa funzione viene usata con un identificatore delle impostazioni locali solo Unicode, la funzione può avere esito positivo perché il sistema operativo usa la tabella codici del sistema. Tuttavia, i caratteri non definiti nella tabella codici di sistema vengono visualizzati nella stringa come punto interrogativo (?).

A partire da Windows Vista, le costanti LOCALE_SDATE e LOCALE_STIME sono obsolete. Non utilizzare queste costanti. Usare invece LOCALE_SSHORTDATE e LOCALE_STIMEFORMAT . Le impostazioni locali personalizzate potrebbero non avere un singolo carattere separatore uniforme nel formato di data o ora: ad esempio, un formato come "12/31, 2006" o "03:56'23" potrebbe essere valido.

Nota

L'intestazione winnls.h definisce SetLocaleInfo come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice che non è indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere Convenzioni per i prototipi di funzioni.

Requisiti

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

Vedere anche

GetLocaleInfo

Supporto per la lingua nazionale

Funzioni di supporto per il linguaggio nazionale