FsRtlDissectName-Funktion (ntifs.h)
Bei einer Unicode-Pfadnamezeichenfolge gibt die FsRtlDissectName Routine zwei Zeichenfolgen zurück, eine mit dem ersten Dateinamen in der Zeichenfolge, der andere, der den verbleibenden nicht analysierten Teil der Pfadzeichenfolge enthält.
Syntax
void FsRtlDissectName(
[in] UNICODE_STRING Path,
[out] PUNICODE_STRING FirstName,
[out] PUNICODE_STRING RemainingName
);
Parameter
[in] Path
Pathname string to be parsed.
[out] FirstName
Zeigen Sie auf den ersten Dateinamen in der Pfadnamenzeichenfolge.
[out] RemainingName
Zeigen Sie auf den verbleibenden nicht analysierten Teil der Pfadnamenzeichenfolge.
Rückgabewert
Nichts
Bemerkungen
In der Eingabezeichenfolge werden umgekehrte Schrägstriche als Namenstrennzeichen gelesen. Der Vorname in der Zeichenfolge wird davon ausgegangen, dass er aus allen Zeichen vom Anfang der Zeichenfolge bis zum Zeichen besteht, das dem ersten umgekehrten Schrägstrich vorausgeht( einschließlich). Es gibt nur eine Ausnahme für diese Regel: Wenn das erste Zeichen in der Eingabezeichenfolge ein umgekehrter Schrägstrich ist, wird dieses Zeichen ignoriert und nicht in der Ausgabezeichenfolge angezeigt. Der verbleibende Teil der Zeichenfolge besteht aus allen Zeichen nach dem umgekehrten Schrägstrich, der dem in der Zeichenfolge gefundenen Vornamen folgt.
FsRtlDissectName überprüft nicht, ob in der Eingabezeichenfolge unzulässige Zeichen vorhanden sind.
Die folgende Tabelle enthält Beispieleingabe- und Ausgabewerte für FsRtlDissectName.
Pfad | Vorname | RemainingName |
---|---|---|
leer | leer | leer |
Ein | Ein | leer |
A\B\C\D\E | Ein | B\C\D\E |
*Ein? | *Ein? | leer |
\Ein | Ein | leer |
A[,] | A[,] | leer |
A\\B+;\C | Ein | \B+;\C |
Beachten Sie, dass die Buffer- Member der Ausgabeparameter auf das Buffer Member Pathverweisen. Daher sollte der Aufrufer keinen Speicher für die Buffer- Member der beiden Ausgabeparameter zuweisen, wie im folgenden Beispiel gezeigt:
.
.
.
/*
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);
.
.
.
Informationen zu anderen Zeichenfolgenbehandlungsroutinen finden Sie unter Run-Time Library (RTL)-Routinen.
Anforderungen
Anforderung | Wert |
---|---|
Zielplattform- | Universal |
Header- | ntifs.h (einschließlich Ntifs.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | PASSIVE_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |