Функция FsRtlIsNameInExpression (ntifs.h)

Подпрограмма FsRtlIsNameInExpression определяет, соответствует ли строка Юникода указанному шаблону.

Синтаксис

BOOLEAN FsRtlIsNameInExpression(
  [in]           PUNICODE_STRING Expression,
  [in]           PUNICODE_STRING Name,
  [in]           BOOLEAN         IgnoreCase,
  [in, optional] PWCH            UpcaseTable
);

Параметры

[in] Expression

Указатель на строку шаблона. Может содержать подстановочные знаки. Если значение IgnoreCase имеет значение TRUE, выражение должно быть прописным.

[in] Name

Указатель на строку, сравниваемую с шаблоном. Не может содержать подстановочные знаки.

[in] IgnoreCase

Установите значение TRUE для сопоставления без учета регистра, в противном случае — FALSE .

[in, optional] UpcaseTable

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

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

FsRtlIsNameInExpression возвращает значение TRUE , если строка соответствует шаблону, в противном случае — false .

Комментарии

В строке шаблона можно использовать следующие подстановочные знаки.

Символ-шаблон Значение
* (звездочка) Соответствует отсутствию символов или нескольким символам
? (вопросительный знак) Соответствует одному символу.
DOS_DOT Соответствует точке или нулю символов за пределами строки имени.
DOS_QM Соответствует любому отдельному символу или при обнаружении точки или конца строки имени перемещает выражение в конец набора непрерывных DOS_QMs.
DOS_STAR Соответствует нулю или большему значению символов до тех пор, пока не встретится и не соответствует окончательному значению . в имени.

В условиях с низким уровнем ресурсов FsRtlIsNameInExpression может вызвать структурированное исключение с кодом STATUS_NO_MEMORY, к обработке которого должны быть подготовлены вызывающие объекты. Дополнительные сведения см. в разделе Структурированная обработка исключений.

Примечание

Если длина только одного из параметров строки равна нулю, FsRtlIsNameInExpression возвращает значение FALSE. Это означает, что "*" не соответствует пустой строке.

Если оба параметра являются строками NULL, функция FsRtlIsNameInExpression возвращает значение TRUE.

Требования

Требование Значение
Минимальная версия клиента Эта подпрограмма — Windows 2000
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая FltKernel.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Правила соответствия DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

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

FsRtlIsDbcsInExpression

UNICODE_STRING