Поделиться через


Функция CompareStringWrapW

[Функция CompareStringWrapW доступна для использования в Windows XP. Он будет недоступен в последующих версиях. Вместо нее следует использовать CompareStringW .]

Сравнивает две строки символов Юникода с использованием указанного языкового стандарта.

Примечание

CompareStringWrapW — это оболочка для функции CompareStringW . Дополнительные заметки об использовании см. на странице CompareString .

 

Синтаксис

int CompareStringWrapW(
  _In_ LCID    Locale,
  _In_ DWORD   dwCmpFlags,
  _In_ LPCWSTR lpString1,
  _In_ int     cchCount1,
  _In_ LPCWSTR lpString2,
  _In_ int     cchCount2
);

Параметры

Языковой стандарт [in]

Тип: LCID

Идентификатор языкового стандарта, используемый для сравнения. Этот параметр может быть одним из следующих предопределенных идентификаторов языкового стандарта или идентификатором языкового стандарта, созданным макросом MAKELCID .

LOCALE_SYSTEM_DEFAULT

Языковой стандарт системы по умолчанию.

LOCALE_USER_DEFAULT

Языковой стандарт текущего пользователя по умолчанию.

dwCmpFlags [in]

Тип: DWORD

Флаги, указывающие, как функция сравнивает две строки. По умолчанию эти флаги не заданы. Задайте нулевое значение, чтобы получить поведение по умолчанию или любое сочетание следующих значений.

NORM_IGNORECASE

Игнорировать регистр.

NORM_IGNOREKANATYPE

Не следует различать символы хираганы и катаканы. Соответствующие символы хираганы и катаканы сравниваются как равные.

NORM_IGNORENONSPACE

Пропускать символы, не относящиеся к разделу.

NORM_IGNORESYMBOLS

Игнорировать символы.

NORM_IGNOREWIDTH

Не следует различать однобайтовый символ и тот же символ, что и двухбайтовый символ.

SORT_STRINGSORT

Знаки препинания обрабатываются так же, как символы.

lpString1 [in]

Тип: LPCWSTR

Указатель на первую сравниваемую строку Юникода.

cchCount1 [in]

Тип: int

Число символов в строке, на которую указывает параметр lpString1 . Число не включает завершающий символ NULL. Если этот параметр является отрицательным значением, предполагается, что строка завершается со значением NULL, а длина вычисляется автоматически.

lpString2 [in]

Тип: LPCWSTR

Указатель на вторую сравниваемую строку Юникода.

cchCount2 [in]

Тип: int

Количество символов в строке, на которую указывает параметр lpString2 . Число не включает завершающий символ NULL. Если этот параметр является отрицательным значением, предполагается, что строка завершается со значением NULL, а длина вычисляется автоматически.

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

Тип: int

Если функция выполняется неудачно, возвращается нулевое значение. Дополнительные сведения об ошибке можно получить, вызвав GetLastError. GetLastError может возвращать один из следующих кодов ошибок.

  • ERROR_INVALID_FLAGS
  • ERROR_INVALID_PARAMETER

Если функция выполнена успешно, возвращается одно из следующих значений.

Требование Значение
CSTR_LESS_THAN Строка, на которую указывает параметр lpString1 , меньше по лексическому значению, чем строка, на которую указывает параметр lpString2 .
CSTR_EQUAL Строка, на которую указывает lpString1 , по лексическому значению равна строке, на которую указывает lpString2.
CSTR_GREATER_THAN Строка, на которую указывает lpString1, больше в лексическом значении, чем строка, на которую указывает lpString2.

 

Комментарии

Предупреждение системы безопасности: Неправильное использование этой функции может поставить под угрозу безопасность приложения. Строки, которые не сравниваются правильно, могут создавать недопустимые входные данные. Проверьте строки, чтобы убедиться, что они допустимы перед их использованием, и предоставьте обработчики ошибок. Дополнительные сведения см. в разделе Вопросы безопасности: международные функции.

Предпочтительный метод — использовать CompareStringW в сочетании с Microsoft Layer для Юникода (MSLU).

Метод CompareStringWrapW должен вызываться непосредственно из Shlwapi.dll, используя порядковый номер 45.

Требования

Требование Значение
Минимальная версия клиента
Windows 2000 Professional, Windows XP [только классические приложения]
Минимальная версия сервера
Windows Server 2003 [только классические приложения]
Заголовок
Нет
DLL
Shlwapi.dll (версия 5.0 или более поздняя)

См. также раздел

CompareString