Función DownlevelGetLocaleScripts
Proporciona una lista de scripts para la configuración regional especificada.
Nota:
Esta función solo la usan las aplicaciones que se ejecutan en sistemas operativos anteriores a Windows Vista. Su uso requiere el paquete de descarga. Las aplicaciones que solo se ejecutan en Windows Vista y versiones posteriores deben llamar a GetLocaleInfo con LCType establecido en LOCALE_SSCRIPTS.
Sintaxis
int DownlevelGetLocaleScripts(
_In_ LPCWSTR lpLocaleName,
_Out_ LPWSTR lpScripts,
_In_ int cchScripts
);
Parámetros
-
lpLocaleName [in]
-
Puntero a un nombre de configuración regional terminado en NULL.
-
lpScripts [out]
-
Puntero a un búfer en el que esta función recupera una cadena terminada en NULL que representa una lista de scripts, utilizando la notación de 4 caracteres usada en ISO 15924. Cada nombre de script consta de cuatro caracteres latinos y los nombres se recuperan en orden alfabético. Cada uno de ellos, incluido el último, va seguido de un punto y coma.
Como alternativa, este parámetro puede contener NULL si cchScripts está establecido en 0. En este caso, la función devuelve el tamaño necesario para el búfer de script.
-
cchScripts [in]
-
Tamaño, en caracteres, para el búfer de script indicado por lpScripts.
Como alternativa, la aplicación puede establecer este parámetro en 0. En este caso, la función recupera NULL en lpScripts y devuelve el tamaño necesario para el búfer de script.
Valor devuelto
Devuelve el número de caracteres recuperados en el búfer de script, incluido el carácter NULL de terminación. Si la función se ejecuta correctamente y el valor de cchScripts es 0, el valor devuelto es el tamaño necesario, en caracteres, incluido un carácter NULL de terminación, para el búfer de script.
Esta función devuelve 0 si no se realiza correctamente. Para obtener más información de error, la aplicación puede llamar a GetLastError, que puede devolver uno de los siguientes códigos de error:
- ERROR_BADDB. La función no pudo acceder a los datos. Esta situación no debería producirse normalmente y normalmente indica una instalación incorrecta, un problema de disco o similar.
- ERROR_INSUFFICIENT_BUFFER. Un tamaño de búfer proporcionado no era lo suficientemente grande o se estableció incorrectamente en NULL.
- ERROR_INVALID_PARAMETER. Uno de los valores de parámetro no era válido.
Comentarios
Esta función es útil como parte de una estrategia para mitigar los problemas de seguridad relacionados con los nombres de dominio internacionalizados (IDN).
Estos son algunos ejemplos de entradas y salidas para esta función, suponiendo un tamaño de búfer suficiente:
Configuración regional | lpLocaleName | lpScripts |
---|---|---|
Inglés (Estados Unidos) | es-ES | Latn; |
Hindi (India) | hi-IN | Deva; |
Japonés (Japón) | ja-JP | Hani;Hira;Kana; |
La lista no contiene el script latino a menos que sea una parte esencial del sistema de escritura usado para una configuración regional. Sin embargo, los caracteres latinos a menudo se usan en el contexto de configuraciones regionales para las que no son nativos, como para un nombre de negocio extranjero. En el ejemplo anterior para Hindi en la India, el único script recuperado es "Deva" (para Devanagari), aunque los caracteres latinos también pueden aparecer en texto hindi. La función DownlevelVerifyScripts tiene una marca especial para abordar ese caso.
El archivo de encabezado y DLL necesarios forman parte de la descarga de las "API de mitigación de nombres de dominio internacionalizados (IDN) de Microsoft disponibles en archive.org.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo compatible |
Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible |
Windows Server 2003 [solo aplicaciones de escritorio] |
Redistribuible |
API de mitigación de nombres de dominio internacionalizados (IDN) de Microsoft en Windows XP (SP2 o posterior), Windows Server 2003 (SP1 o posterior) o Windows Vista |
Encabezado |
|
Archivo DLL |
|
Consulte también