Функция 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 |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по