Partager via


Fonction FltParseFileName (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.Buffer, et 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 de flux analysé à partir de la chaîne FileName . Si aucun nom de flux n’est trouvé, FltParseFileName définit Stream. Tampon sur NULL et Stream. Longueur à zéro. Sinon, Stream. Buffer reçoit un pointeur vers le début du nom du flux dans FileName.Buffer et Stream. Longueur 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 retournée

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. Il n’est pas nécessaire que le nom de fichier soit normalisé ou qu’il soit 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 fichier et l’analyse des noms de fichier, consultez FLT_FILE_NAME_INFORMATION.

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows XP avec Service Pack 2 (SP2) et versions ultérieures du système d’exploitation Windows.
Plateforme cible Universal
En-tête fltkernel.h (inclure Fltkernel.h)
Bibliothèque FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Voir aussi

FLT_FILE_NAME_INFORMATION

FltParseFileNameInformation

UNICODE_STRING