Функция DownlevelVerifyScripts

Сравнивает два перечисленных списка скриптов.

Примечание.

Эта функция используется только приложениями, работающими в операционных системах до Windows Vista. Для его использования требуется пакет скачивания. Приложения, которые работают только в Windows Vista и более поздних версиях, должны вызывать VerifyScripts.

 

Синтаксис

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

Параметры

dwFlags [in]

Флаги, указывающие параметры проверки скрипта.

Значение Значение
VS_ALLOW_LATIN
Разрешить "Latn" (латинский скрипт) в списке тестов, даже если он отсутствует в списке языкового стандарта.

 

lpLocaleScripts [in]

Указатель на список языкового стандарта— перечисляемый список сценариев для заданного языкового стандарта. Обычно этот список заполняется путем вызова DownlevelGetLocaleScripts.

cchLocaleScripts [in]

Размер в символах строки, указанной lpLocaleScripts. Приложение задает этому параметру значение -1, если строка завершается значением NULL. Если для этого параметра задано значение 0, функция завершается ошибкой.

lpTestScripts [in]

Указатель на список тестов— второй перечисленный список скриптов. Обычно этот список заполняется путем вызова DownlevelGetStringScripts.

cchTestScripts [in]

Размер в символах строки, указанной lpTestScripts. Приложение задает этому параметру значение -1, если строка завершается значением NULL. Если для этого параметра задано значение 0, функция завершается ошибкой.

Возвращаемое значение

Возвращает значение TRUE , если тестовый список не пуст, а все элементы в списке также включены в список языкового стандарта. В противном случае функция возвращает ЗНАЧЕНИЕ FALSE.

Возвращаемое значение FALSE может указывать на то, что тестовый список содержит элемент, который не находится в списке языковых стандартов, или может указывать на ошибку. Чтобы различать эти два случая, приложение может вызвать GetLastError. Если DownlevelVerifyScripts успешно определил, что в списке тестов есть элемент, не имеющийся в списке языкового стандарта, GetLastError возвращает ERROR_SUCCESS. В противном случае GetLastError может вернуть один из следующих кодов ошибок:

  • ERROR_INVALID_FLAGS. Значения, предоставленные для флагов, недопустимы.
  • ERROR_INVALID_PARAMETER. Любое из значений параметров было недопустимым.

Замечания

Эта функция сравнивает строки, такие как "Latn; Cyrl;", состоящий из ряда 4-символьных имен скриптов, с каждым именем скрипта, за которым следует точка с запятой. Он также имеет особый случай, чтобы учитывать тот факт, что латинский скрипт часто используется на языках и языковых стандартах, для которых он не является собственным.

Эта функция полезна в рамках стратегии устранения проблем безопасности, связанных с международными доменными именами (IDN).

Ниже приведены примеры возврата этой функции и последующего вызова GetLastError в различных сценариях. Последние два примера иллюстрируют, соответственно, случай, в котором в списке тестов отсутствует завершающаяся точка с запятой (неправильно сформированная строка) и случай, в котором список тестов пуст.

Строка "Языковой стандарт" Строка "Test" dwFlags Возвращаемое значение Возврат GetLastError
Хани; Hira; Кана; Хани; Н/П TRUE Н/П
Хани; Hira; Кана; Хани; Латн; 0 FALSE ERROR_SUCCESS
Хани; Hira; Кана; Хани; Латн; VS_ALLOW_LATIN TRUE Н/П
Хани; Hira; Кана; Cyrl; Н/П FALSE ERROR_SUCCESS
Хани; Hira; Кана; Cyrl; Н/П FALSE ERROR_INVALID_PARAMETER
Хани; Hira; Кана; Н/П FALSE ERROR_SUCCESS

 

Требуемый файл заголовка и DLL входят в скачивание API устранения рисков с помощью Microsoft Internationalized Domain Name (IDN) (API устранения рисков) из archive.org.

Requirements

Требование Значение
Минимальная версия клиента
Windows XP [только классические приложения]
Минимальная версия сервера
Windows Server 2003 [только классические приложения]
Распространяемые компоненты
API устранения рисков microsoft Internationalized Domain Name (IDN) onWindows XP с пакетом обновления 2 (SP2),Windows Server 2003 с пакетом обновления 1 (SP1) илиWindows Vista
Верхний колонтитул
Idndl.h
DLL-библиотеки
Idndl.dll

См. также

Поддержка национального языка

Функции поддержки национальных языков

Обработка международных доменных имен (IDN)

DownlevelGetLocaleScripts

DownlevelGetStringScripts

VerifyScripts