Partager via


FltParseFileName, fonction (fltkernel.h)

FltParseFileName analyse l’extension, le flux et le composant final à partir d’une chaîne de nom de fichier.

Syntaxe

NTSTATUS FLTAPI FltParseFileName(
  [in]      PCUNICODE_STRING FileName,
  [in, out] PUNICODE_STRING  Extension,
  [in, out] PUNICODE_STRING  Stream,
  [in, out] PUNICODE_STRING  FinalComponent
);

Paramètres

[in] FileName

Pointeur vers une structure UNICODE_STRING qui contient la chaîne à analyser en tant que nom de fichier. Ce paramètre est obligatoire et ne peut pas être NULL.

[in, out] Extension

Pointeur vers une structure UNICODE_STRING qui reçoit l’extension analysée à partir de la chaîne FileName. Si aucune extension n’est trouvée, FltParseFileName définit Extension.Buffer sur NULL et Extension.Length sur zéro. Sinon, Extension.Buffer reçoit un pointeur vers le début de l’extension dans FileName.Bufferet Extension.Length reçoit la longueur, en octets, de l’extension. Ce paramètre est facultatif et peut être NULL.

[in, out] Stream

Pointeur vers une structure UNICODE_STRING qui reçoit le nom du flux analysé à partir de la chaîne FileName. Si aucun nom de flux n’est trouvé, FltParseFileName définit Stream.Buffer sur NULL et Stream.Length sur zéro. Sinon, Stream.Buffer reçoit un pointeur vers le début du nom du flux dans FileName.Bufferet Stream.Length reçoit la longueur, en octets, du nom du flux. Ce paramètre est facultatif et peut être NULL.

[in, out] FinalComponent

Pointeur vers une structure UNICODE_STRING qui reçoit le composant de nom final analysé à partir de la chaîne FileName. Si aucun composant final n’est trouvé, FltParseFileName définit FinalComponent.Buffer sur NULL et FinalComponent.Length sur zéro. Sinon, FinalComponent.Buffer reçoit un pointeur vers le début du composant final dans FileName.Buffer, et FinalComponent.Length reçoit la longueur, en octets, du composant final. Ce paramètre est facultatif et peut être NULL.

Valeur de retour

FltParseFileName retourne STATUS_SUCCESS ou un code d’erreur NTSTATUS approprié.

Remarques

FltParseFileName analyse l’extension, le nom du flux et le composant final à partir d’une chaîne de nom de fichier. Le nom de fichier n’est pas requis pour être normalisé ou un nom de chemin d’accès complet. Si le nom de fichier est un nom de fichier court, FltParseFileName analyse uniquement l’extension.

Voici un exemple de nom normalisé pour un fichier local :

\Device\HarddiskVolume1\Documents and Settings\MyUser\My Documents\Test Results.txt:stream1

FltParseFileName analyse ce nom normalisé comme suit :

extension: « txt »

Stream: « :stream1 »

FinalComponent: « Test Results.txt:stream1 »

Voici un exemple de nom court pour un fichier :

TestRe~1.txt

FltParseFileName analyse ce nom court comme suit :

extension: « txt »

Stream: NULL

FinalComponent: « TestRe~1.txt»

Pour plus d’informations sur la normalisation des noms de fichiers et l’analyse de nom de fichier, consultez FLT_FILE_NAME_INFORMATION.

Pour analyser le contenu d’une structure FLT_FILE_NAME_INFORMATION, appelez FltParseFileNameInformation.

Exigences

Exigence Valeur
client minimum pris en charge Disponible dans Windows XP avec Service Pack 2 (SP2) et versions ultérieures du système d’exploitation Windows.
plateforme cible Universel
d’en-tête fltkernel.h (include Fltkernel.h)
bibliothèque FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Voir aussi

FLT_FILE_NAME_INFORMATION

FltParseFileNameInformation

UNICODE_STRING