Функция FindNLSString (winnls.h)

Находит строку Юникода (расширенные символы) или ее эквивалент в другой строке Юникода для языкового стандарта, указанного идентификатором.

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

Синтаксис

int FindNLSString(
  [in]            LCID    Locale,
  [in]            DWORD   dwFindNLSStringFlags,
  [in]            LPCWSTR lpStringSource,
  [in]            int     cchSource,
  [in]            LPCWSTR lpStringValue,
  [in]            int     cchValue,
  [out, optional] LPINT   pcchFound
);

Параметры

[in] Locale

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

Windows Vista и более поздних версий: Также поддерживаются следующие пользовательские идентификаторы языкового стандарта.

[in] dwFindNLSStringFlags

Флаги, указывающие сведения об операции поиска. Подробные определения см. в параметре dwFindNLSStringFlagsобъекта FindNLSStringEx.

[in] lpStringSource

Указатель на исходную строку, в которой функция ищет строку, указанную lpStringValue.

[in] cchSource

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

[in] lpStringValue

Указатель на строку поиска, для которой функция выполняет поиск в исходной строке.

[in] cchValue

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

[out, optional] pcchFound

Указатель на буфер, содержащий длину строки, которую находит функция. Дополнительные сведения см. в параметре pcchFoundобъекта FindNLSStringEx.

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

Возвращает индекс на основе 0 в исходную строку, указанную lpStringSource в случае успешного выполнения. В сочетании со значением в pcchFound этот индекс предоставляет точное расположение всей найденной строки в исходной строке. Возвращаемое значение 0 является индексом без ошибок в исходной строке, а соответствующая строка находится в исходной строке со смещением 0.

Функция возвращает -1, если не удалось. Чтобы получить расширенные сведения об ошибке, приложение может вызвать Метод GetLastError, который может возвращать один из следующих кодов ошибок:

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

Комментарии

См. примечания для FindNLSStringEx.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header winnls.h (включая Windows.h)
Библиотека Kernel32.lib
DLL Kernel32.dll

См. также

CompareString

FindNLSStringEx

Обработка сортировки в приложениях

LCMapString

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

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

Вопросы безопасности: международные функции