Функция FsRtlDissectName (ntifs.h)
Учитывая строку имени пути Юникода, FsRtlDissectName возвращает две строки, одну из них содержит имя первого файла, найденное в строке, другое, содержащее оставшуюся непарализированную часть строки имени пути.
Синтаксис
void FsRtlDissectName(
[in] UNICODE_STRING Path,
[out] PUNICODE_STRING FirstName,
[out] PUNICODE_STRING RemainingName
);
Параметры
[in] Path
Строка имени пути для синтаксического анализа.
[out] FirstName
Указатель на имя первого файла в строке имени пути.
[out] RemainingName
Указатель на оставшуюся непарассированную часть строки имени пути.
Возвращаемое значение
Никакой
Замечания
В входной строке обратные очки считываются как разделители имен. Предполагается, что первое имя строки состоит из всех символов с начала строки до символа, предшествующего первой обратной косой черте, включительно. Существует только одно исключение из этого правила: если первый символ в входной строке является обратной косой чертой, этот символ игнорируется и не отображается в выходной строке. Оставшаяся часть строки состоит из всех символов после обратной косой черты, следующей за первым именем, найденным в строке.
FsRtlDissectName не проверяет наличие недопустимых символов во входной строке.
В следующей таблице показаны примеры входных и выходных значений для FsRtlDissectName.
Путь | FirstName | Оставшееся имя |
---|---|---|
пустой | пустой | пустой |
A | A | пустой |
A\B\C\D\E | A | B\C\D\E |
*A? | *A? | пустой |
\A | A | пустой |
A[,] | A[,] | пустой |
A\\B+;\C | A | \B+;\C |
Обратите внимание, что при возвращении элементы буфера
.
.
.
/*
The FsRtlDissectName routine will set the members
of the following two structures appropriately:
*/
UNICODE_STRING CurrentComponent;
UNICODE_STRING RemainingComponent;
/*
Do not allocate storage for the Buffer members of CurrentComponent
and RemainingComponent in that they will point into the previously
allocated storage of FullPathName's Buffer member:
*/
FsRtlDissectName (FullPathName, &CurrentComponent, &RemainingComponent);
.
.
.
Дополнительные сведения о других подпрограммах обработки строк см. в Run-Time подпрограммах библиотеки (RTL).
Требования
Требование | Ценность |
---|---|
целевая платформа | Всеобщий |
заголовка | ntifs.h (include Ntifs.h) |
библиотеки |
NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
правил соответствия DDI |