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 |