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

Подпрограмма RtlFindUnicodePrefix ищет наиболее подходящее имя файла Юникода в таблице префиксов.

Синтаксис

NTSYSAPI PUNICODE_PREFIX_TABLE_ENTRY RtlFindUnicodePrefix(
  [in] PUNICODE_PREFIX_TABLE PrefixTable,
  [in] PCUNICODE_STRING      FullName,
  [in] ULONG                 CaseInsensitiveIndex
);

Параметры

[in] PrefixTable

Указатель на таблицу префиксов. Таблица должна быть инициализирована путем вызова RtlInitializeUnicodePrefix.

[in] FullName

Указатель на строку Юникода, содержащую полный путь к файлу.

[in] CaseInsensitiveIndex

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

Значение Значение
0 Сравнение строк не учитывает регистр.
1..FullName.Length-1 Сравнение строк учитывает регистр символов в позициях от 0 до CaseInsensitiveIndex-1, без учета регистра для символов от позиции CaseInsensitiveIndex до конца строки.
FullName.Length Сравнение строк учитывает регистр.

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

RtlFindUnicodePrefix возвращает указатель на самый длинный правильный префикс, найденный для заданной строки в FullName. Если соответствующий префикс не найден, RtlFindUnicodePrefix возвращает значение NULL.

Комментарии

Каждая префиксная запись в таблице представляет собой путь относительно корневого каталога тома файловой системы. Для правильного формата префикс должен начинаться с одной обратной косой черты ().

При поиске соответствующего префикса RtlFindUnicodePrefix перебалансирует дерево воспроизведения таблицы префиксов.

Файловые системы должны вызывать RtlInitializeUnicodePrefix , чтобы инициализировать таблицу префиксов, прежде чем использовать любой другой Rtl.. Процедуры UnicodePrefix для него. Инициализированную структуру таблицы префиксов следует считать непрозрачной.

Вызывающие объект Rtl.. Подпрограммы UnicodePrefix отвечают за синхронизацию доступа к таблице префиксов. Быстрый мьютекс является наиболее эффективным механизмом синхронизации для этой цели.

Сведения о других процедурах обработки строк см. в статье Подпрограммы библиотеки времени выполнения (RTL).

Требования

Требование Значение
Минимальная версия клиента Windows XP
Минимальная версия сервера Windows Server 2003
Целевая платформа Универсальное
Верхняя часть ntifs.h (включая Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

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

RtlInitializeUnicodePrefix

RtlInsertUnicodePrefix

RtlNextUnicodePrefix

RtlRemoveUnicodePrefix

UNICODE_STRING