Функция 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 |
Верхний колонтитул |
|
DLL-библиотеки |
|
См. также