Funzione DownlevelGetLocaleScripts

Fornisce un elenco di script per le impostazioni locali specificate.

Nota

Questa funzione viene usata solo dalle applicazioni eseguite nei sistemi operativi pre-Windows Vista. L'uso richiede il pacchetto di download. Le applicazioni eseguite solo in Windows Vista e versioni successive devono chiamare GetLocaleInfo con LCType impostato su LOCALE_SSCRIPTS.

 

Sintassi

int DownlevelGetLocaleScripts(
  _In_  LPCWSTR lpLocaleName,
  _Out_ LPWSTR  lpScripts,
  _In_  int     cchScripts
);

Parametri

lpLocaleName [in]

Puntatore a un nome di impostazioni locali con terminazione Null.

lpScripts [out]

Puntatore a un buffer in cui questa funzione recupera una stringa con terminazione Null che rappresenta un elenco di script, usando la notazione a 4 caratteri usata in ISO 15924. Ogni nome di script è costituito da quattro caratteri latini e i nomi vengono recuperati in ordine alfabetico. Ognuno di essi, incluso l'ultimo, è seguito da un punto e virgola.

In alternativa, questo parametro può contenere NULL se cchScripts è impostato su 0. In questo caso, la funzione restituisce le dimensioni necessarie per il buffer di script.

cchScripts [in]

Dimensioni, in caratteri, per il buffer di script indicato da lpScripts.

In alternativa, l'applicazione può impostare questo parametro su 0. In questo caso, la funzione recupera NULL in lpScripts e restituisce le dimensioni necessarie per il buffer di script.

Valore restituito

Restituisce il numero di caratteri recuperati nel buffer di script, incluso il carattere Null di terminazione. Se la funzione ha esito positivo e il valore di cchScripts è 0, il valore restituito è la dimensione necessaria, in caratteri che includono un carattere Null di terminazione, per il buffer di script.

Questa funzione restituisce 0 se non riesce. Per ottenere informazioni di errore estese, l'applicazione può chiamare GetLastError, che può restituire uno dei codici di errore seguenti:

  • ERROR_BADDB. La funzione non è riuscita ad accedere ai dati. Questa situazione non dovrebbe verificarsi normalmente e in genere indica un'installazione non valida, un problema del disco o simili.
  • ERROR_INSUFFICIENT_BUFFER. Le dimensioni del buffer fornite non sono sufficienti o non sono state impostate correttamente su NULL.
  • ERROR_INVALID_PARAMETER. Uno dei valori dei parametri non è valido.

Osservazioni:

Questa funzione è utile come parte di una strategia per attenuare i problemi di sicurezza correlati ai nomi di dominio internazionalizzati (IDN).

Ecco alcuni esempi di input e output per questa funzione, presupponendo una dimensione del buffer sufficiente:

Impostazioni locali lpLocaleName lpScripts
English (United States) en-US Latn;
Hindi (India) hi-IN Deva;
Giapponese (Giappone) ja-JP Hani; Hira; Kana;

 

L'elenco non contiene lo script latino a meno che non sia una parte essenziale del sistema di scrittura usato per le impostazioni locali. Tuttavia, i caratteri latini vengono spesso usati nel contesto delle impostazioni locali per cui non sono nativi, come per un nome aziendale esterno. Nell'esempio precedente per hindi in India, l'unico script recuperato è "Deva" (per Devanagari), anche se i caratteri latini possono essere visualizzati anche nel testo hindi. La funzione DownlevelVerifyScripts ha un flag speciale per risolvere questo caso.

Il file di intestazione e la DLL necessari fanno parte del download delle API di mitigazione IDN (Microsoft Internationalized Domain Name) disponibili da archive.org.

Requisiti

Requisito Valore
Client minimo supportato
Windows XP [solo app desktop]
Server minimo supportato
Windows Server 2003 [solo app desktop]
Componente ridistribuibile
API di mitigazione IDN (Microsoft Internationalized Domain Name) in Windows XP (SP2 o versione successiva), Windows Server 2003 (SP1 o versione successiva) o Windows Vista
Intestazione
Idndl.h
DLL
Idndl.dll

Vedi anche

Supporto per la lingua nazionale

Funzioni di supporto per il linguaggio nazionale

Gestione dei nomi di dominio internazionalizzati (IDN)

DownlevelGetStringScripts

DownlevelVerifyScripts

GetLocaleInfo