Compartir a través de


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
Idndl.h
Archivo DLL
Idndl.dll

Consulte también

Compatibilidad con idiomas nacionales

Funciones de compatibilidad con el idioma nacional

Control de nombres de dominio internacionalizados (IDN)

DownlevelGetStringScripts

DownlevelVerifyScripts

GetLocaleInfo