Функция 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.. Подпрограммы ЮникодаPrefix на нем. Инициализированная структура таблицы префикса должна считаться непрозрачной.
Вызывающие Rtl.. Подпрограммы ЮникодаPrefix отвечают за синхронизацию доступа к таблице префикса. Быстрый мьютекс — это наиболее эффективный механизм синхронизации, используемый для этой цели.
Дополнительные сведения о других подпрограммах обработки строк см. в Run-Time подпрограммах библиотеки (RTL).
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows XP |
минимальный поддерживаемый сервер | Windows Server 2003 |
целевая платформа | Всеобщий |
заголовка | ntifs.h (include Ntifs.h) |
библиотеки | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |