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

Weitere Informationen

FLT_FILE_NAME_INFORMATION

FltParseFileNameInformation

UNICODE_STRING