Функция 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) |