FltParseFileName-Funktion (fltkernel.h)
FltParseFileName analysiert die Erweiterung, den Stream und die letzte 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
Zeiger auf eine UNICODE_STRING Struktur, die die zu analysierende Zeichenfolge als Dateinamen enthält. Dieser Parameter ist erforderlich und darf nicht NULL sein.
[in, out] Extension
Zeiger auf eine UNICODE_STRING-Struktur, die die aus der FileName-Zeichenfolge analysierte Erweiterung empfängt. Wenn keine Erweiterung gefunden wird, legt FltParseFileNameExtension.Buffer auf NULL und Extension.Length auf Null fest. Andernfalls empfängt Extension.Buffer einen Zeiger auf den Anfang der Erweiterung in FileName.Buffer, und Extension.Length empfängt die Länge der Erweiterung in Bytes. Dieser Parameter ist optional und kann NULL sein.
[in, out] Stream
Zeiger auf eine UNICODE_STRING Struktur, die den aus der FileName-Zeichenfolge analysierten Streamnamen empfängt. Wenn kein Streamname gefunden wird, legt FltParseFileNameStream fest. Puffer auf NULL und Stream. Länge bis 0 (null). Andernfalls Stream. Buffer empfängt einen Zeiger auf den Anfang des Datenstromnamens in FileName.Buffer und Stream. Length empfängt die Länge des Datenstromnamens in Byte. Dieser Parameter ist optional und kann NULL sein.
[in, out] FinalComponent
Zeiger 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 und FinalComponent.Length auf Null fest. Andernfalls empfängt FinalComponent.Buffer einen Zeiger auf den Anfang der endgültigen Komponente in FileName.Buffer, und FinalComponent.Length empfängt die Länge der endgültigen Komponente in Bytes. Dieser Parameter ist optional und kann NULL sein.
Rückgabewert
FltParseFileName gibt STATUS_SUCCESS oder einen entsprechenden NTSTATUS-Fehlercode zurück.
Hinweise
FltParseFileName analysiert die Erweiterung, den Streamnamen und die letzte Komponente aus einer Dateinamenzeichenfolge. Der Dateiname muss nicht normalisiert werden oder ein vollständiger Pfadname sein. Wenn der Dateiname ein kurzer Dateiname ist, analysiert FltParseFileName nur die Erweiterung.
Im Folgenden finden 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:
Erweiterung: "txt"
Stream: ":stream1"
FinalComponent: "Test Results.txt:stream1"
Im Folgenden finden Sie ein Beispiel für einen Kurznamen für eine Datei:
TestRe~1.txt
FltParseFileName analysiert diesen Kurznamen wie folgt:
Erweiterung: "txt"
Stream: NULL
FinalComponent: "TestRe~1.txt"
Weitere Informationen zur Normalisierung von Dateinamen und zur Dateinamenanalyse finden Sie unter FLT_FILE_NAME_INFORMATION.
Um den Inhalt einer FLT_FILE_NAME_INFORMATION-Struktur zu analysieren, rufen Sie FltParseFileNameInformation auf.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows XP mit Service Pack 2 (SP2) und höheren Versionen des Windows-Betriebssystems. |
Zielplattform | Universell |
Header | fltkernel.h (fltkernel.h einschließen) |
Bibliothek | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |