Función DownlevelVerifyScripts

Compara dos listas enumeradas de scripts.

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 VerifyScripts.

 

Sintaxis

BOOL DownlevelVerifyScripts(
  _In_ DWORD   dwFlags,
  _In_ LPCWSTR lpLocaleScripts,
  _In_ int     cchLocaleScripts,
  _In_ LPCWSTR lpTestScripts,
  _In_ int     cchTestScripts
);

Parámetros

dwFlags [in]

Marcas que especifican las opciones de comprobación del script.

Value Significado
VS_ALLOW_LATIN
Permitir "Latn" (script latino) en la lista de pruebas, incluso si no está en la lista de configuración regional.

 

lpLocaleScripts [in]

Puntero a la lista de configuración regional, la lista enumerada de scripts para una configuración regional determinada. Normalmente, esta lista se rellena llamando a DownlevelGetLocaleScripts.

cchLocaleScripts [in]

Tamaño, en caracteres, de la cadena indicada por lpLocaleScripts. La aplicación establece este parámetro en -1 si la cadena termina en null. Si este parámetro se establece en 0, se produce un error en la función.

lpTestScripts [in]

Puntero a la lista de pruebas, una segunda lista enumerada de scripts. Normalmente, esta lista se rellena llamando a DownlevelGetStringScripts.

cchTestScripts [in]

Tamaño, en caracteres, de la cadena indicada por lpTestScripts. La aplicación establece este parámetro en -1 si la cadena termina en null. Si este parámetro se establece en 0, se produce un error en la función.

Valor devuelto

Devuelve TRUE si la lista de pruebas no está vacía y todos los elementos de la lista también se incluyen en la lista de configuración regional. De lo contrario, la función devuelve FALSE.

Un valor devuelto de FALSE puede indicar que la lista de pruebas contiene un elemento que no está en la lista de configuración regional o puede indicar un error. Para distinguir entre estos dos casos, la aplicación puede llamar a GetLastError. Si DownlevelVerifyScripts ha determinado correctamente que hay un elemento en la lista de pruebas que no está en la lista de configuración regional, GetLastError devuelve ERROR_SUCCESS. De lo contrario, GetLastError puede devolver uno de los siguientes códigos de error:

  • ERROR_INVALID_FLAGS. Los valores proporcionados para las marcas no eran válidos.
  • ERROR_INVALID_PARAMETER. Cualquiera de los valores de parámetro no era válido.

Comentarios

Esta función compara cadenas, como "Latn; Cyrl;", que consta de una serie de nombres de script de 4 caracteres, con cada nombre de script seguido de un punto y coma. También tiene un caso especial para tener en cuenta el hecho de que el alfabeto latino se usa a menudo en idiomas y configuraciones regionales para los que no es nativo.

Esta función es útil como parte de una estrategia para mitigar los problemas de seguridad relacionados con nombres de dominio internacionalizados (IDN).

A continuación se muestran ejemplos de la devolución de esta función y una llamada posterior a GetLastError en varios escenarios. Los dos últimos ejemplos ilustran, respectivamente, un caso en el que la lista de pruebas carece de punto y coma de terminación (cadena con formato incorrecto) y un caso en el que la lista de pruebas está vacía.

Cadena "Configuración regional" Cadena "Test" dwFlags Valor devuelto GetLastError return
Hani; Hira; Kana; Hani; N/D VERDADERO N/D
Hani; Hira; Kana; Hani;Latn; 0 FALSO ERROR_SUCCESS
Hani; Hira; Kana; Hani;Latn; VS_ALLOW_LATIN VERDADERO N/D
Hani; Hira; Kana; Cyrl; N/D FALSO ERROR_SUCCESS
Hani; Hira; Kana; Cyrl; N/D FALSO ERROR_INVALID_PARAMETER
Hani; Hira; Kana; N/D FALSO ERROR_SUCCESS

 

El archivo de encabezado y DLL necesarios forman parte del "API de mitigación de nombres de dominio internacionalizados (IDN) de Microsoft" descarga disponible 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 con SP2,Windows Server 2003 con SP1 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)

DownlevelGetLocaleScripts

DownlevelGetStringScripts

VerifyScripts