Функция FsRtlDissectDbcs (ntifs.h)
Учитывая строку имени пути ANSI или двухбайтового набора символов (DBCS), FsRtlDissectDbcs возвращает две строки: одну, содержащую имя первого файла, найденное в строке, а другая, содержащая оставшуюся непарализированную часть строки имени пути.
Синтаксис
void FsRtlDissectDbcs(
[in] ANSI_STRING Path,
[out] PANSI_STRING FirstName,
[out] PANSI_STRING RemainingName
);
Параметры
[in] Path
Строка имени пути для синтаксического анализа.
[out] FirstName
Указатель на имя первого файла в строке имени пути.
[out] RemainingName
Указатель на оставшуюся непарассированную часть строки имени пути.
Возвращаемое значение
Никакой
Замечания
В входной строке обратные очки считываются как разделители имен. Предполагается, что первое имя строки состоит из всех символов с начала строки до символа, предшествующего первой обратной косой черте, включительно. Существует только одно исключение из этого правила: если первый символ в входной строке является обратной косой чертой, этот символ игнорируется и не отображается в выходной строке. Оставшаяся часть строки состоит из всех символов после обратной косой черты, следующей за первым именем, найденным в строке.
FsRtlDissectDbcs не проверяет наличие недопустимых символов в входной строке.
В следующей таблице показаны примеры входных и выходных значений для FsRtlDissectDbcs:
Путь | 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 FsRtlDissectDbcs 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:
*/
FsRtlDissectDbcs (FullPathName, &CurrentComponent, &RemainingComponent);
.
.
.
Дополнительные сведения о других подпрограммах обработки строк см. в Run-Time подпрограммах библиотеки (RTL).
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Windows 2000 |
целевая платформа | Всеобщий |
заголовка | ntifs.h (include FltKernel.h, Ntifs.h) |
библиотеки |
NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |