FltParseFileName-Funktion (fltkernel.h)
FltParseFileName analysiert die Erweiterung, den Datenstrom und die endgültige Komponente aus einer Dateinamenzeichenfolge.
Syntax
NTSTATUS FLTAPI FltParseFileName(
[in] PCUNICODE_STRING FileName,
[in, out] PUNICODE_STRING Extension,
[in, out] PUNICODE_STRING Stream,
[in, out] PUNICODE_STRING FinalComponent
);
Parameter
[in] FileName
Zeigen Sie auf eine UNICODE_STRING Struktur, die die Zeichenfolge enthält, die als Dateiname analysiert werden soll. Dieser Parameter ist erforderlich und kann nicht NULL-werden.
[in, out] Extension
Zeigen Sie auf eine UNICODE_STRING Struktur, die die von der FileName Zeichenfolge analysierte Erweiterung empfängt. Wenn keine Erweiterung gefunden wird, legt FltParseFileNameExtension.Buffer auf null NULL- und Extension.Length auf Null fest. Andernfalls empfängt Extension.Buffer einen Zeiger an den Anfang der Erweiterung in FileName.Bufferund Extension.Length die Länge der Erweiterung in Bytes erhält. Dieser Parameter ist optional und kann NULL-werden.
[in, out] Stream
Zeigen Sie auf eine UNICODE_STRING Struktur, die den datenstromnamen empfängt, der aus der FileName- Zeichenfolge analysiert wird. Wenn kein Datenstromname gefunden wird, legt FltParseFileNameStream.Buffer- auf null NULL- und Stream.Length- auf Null fest. Andernfalls empfängt Stream.Buffer einen Zeiger an den Anfang des Datenstromnamens in FileName.Bufferund Stream.Length die Länge des Datenstromnamens in Byte erhält. Dieser Parameter ist optional und kann NULL-werden.
[in, out] FinalComponent
Zeigen Sie auf eine UNICODE_STRING Struktur, die die endgültige Namenskomponente empfängt, die aus der FileName- Zeichenfolge analysiert wird. Wenn keine endgültige Komponente gefunden wird, legt FltParseFileNameFinalComponent.Buffer auf null NULL- und FinalComponent.Length auf Null fest. Andernfalls empfängt FinalComponent.Buffer einen Zeiger an den Anfang der endgültigen Komponente in FileName.Bufferund FinalComponent.Length die Länge in Byte der endgültigen Komponente erhält. Dieser Parameter ist optional und kann NULL-werden.
Rückgabewert
FltParseFileName gibt STATUS_SUCCESS oder einen entsprechenden NTSTATUS-Fehlercode zurück.
Bemerkungen
FltParseFileName analysiert die Erweiterung, den Datenstromnamen und die endgültige Komponente aus einer Dateinamenzeichenfolge. Der Dateiname muss nicht normalisiert werden, oder ein vollständiger Pfadname. Wenn der Dateiname ein kurzer Dateiname ist, FltParseFileName nur die Erweiterung analysiert.
Nachfolgend sehen Sie ein Beispiel für einen normalisierten Namen für eine lokale Datei:
\Device\HarddiskVolume1\Documents and Settings\MyUser\My Documents\Test Results.txt:stream1
FltParseFileName analysiert diesen normalisierten Namen wie folgt:
Extension: "txt"
Stream-: ":stream1"
FinalComponent: "Testen Results.txt:stream1"
Nachfolgend sehen Sie ein Beispiel für einen kurzen Namen für eine Datei:
TestRe~1.txt
FltParseFileName analysiert diesen kurzen Namen wie folgt:
Extension: "txt"
Stream-: NULL-
FinalComponent: "TestRe~1.txt"
Weitere Informationen zur Normalisierung von Dateinamen und zur Analyse von Dateinamen finden Sie unter FLT_FILE_NAME_INFORMATION.
Rufen Sie FltParseFileNameInformationauf, um den Inhalt einer FLT_FILE_NAME_INFORMATION Struktur zu analysieren.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar in Windows XP mit Service Pack 2 (SP2) und höheren Versionen des Windows-Betriebssystems. |
Zielplattform- | Universal |
Header- | fltkernel.h (include Fltkernel.h) |
Library | FltMgr.lib |
DLL- | Fltmgr.sys |
IRQL- | <= APC_LEVEL |