Fonction FltDeleteFileContext (fltkernel.h)
La routine FltDeleteFileContext récupère et supprime un contexte de fichier qu’un pilote minifilter donné a défini pour un fichier donné.
Syntaxe
NTSTATUS FLTAPI FltDeleteFileContext(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[out] PFLT_CONTEXT *OldContext
);
Paramètres
[in] Instance
Pointeur instance opaque pour l’appelant. Ce paramètre est obligatoire et ne peut pas être NULL.
[in] FileObject
Pointeur d’objet file pour le fichier. Ce paramètre est obligatoire et ne peut pas être NULL.
[out] OldContext
Pointeur vers une variable allouée par l’appelant qui reçoit l’adresse du contexte supprimé. Si aucun contexte correspondant n’est trouvé, cette variable reçoit NULL_CONTEXT. Ce paramètre est facultatif et peut être NULL. Pour plus d’informations sur ce paramètre, consultez la section Remarques suivante.
Valeur retournée
FltDeleteFileContext retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, par exemple :
Code de retour | Description |
---|---|
STATUS_NOT_FOUND | Aucun contexte correspondant n’a été trouvé. Il s’agit d’un code d’erreur. |
STATUS_NOT_SUPPORTED | Les contextes de fichier ne sont pas pris en charge pour ce fichier. Il s’agit d’un code d’erreur. |
Remarques
Pour plus d’informations sur les contextes, consultez À propos des contextes de minifiltre.
Étant donné que les contextes sont comptés en référence, il n’est généralement pas nécessaire qu’un pilote minifilter appelle une routine telle que FltDeleteFileContext ou FltDeleteContext pour supprimer explicitement un contexte.
Un pilote minifilter appelle FltDeleteFileContext pour récupérer et supprimer un contexte de fichier qu’il a précédemment défini pour un fichier en appelant FltSetFileContext.
Si le paramètre OldContext a la valeur NULL lors de l’entrée et qu’un contexte de fichier correspondant est trouvé, FltDeleteFileContext libère la référence qui a été ajoutée par l’appel précédent du pilote minifilter à FltSetFileContext. Le contexte supprimé est généralement libéré immédiatement, sauf s’il y a une référence en suspens (par exemple, parce que le contexte est toujours utilisé par un autre thread).
Si le paramètre OldContext n’est pas NULL et qu’un contexte de fichier correspondant est trouvé et retourné, l’appelant est chargé de libérer la référence qui a été ajoutée par FltSetFileContext. Pour libérer cette référence, le pilote minifilter doit appeler FltReleaseContext sur le contexte de fichier supprimé dès que possible après avoir effectué tout nettoyage nécessaire.
Pour allouer un nouveau contexte, appelez FltAllocateContext.
Pour déterminer si les contextes de fichier sont pris en charge pour un fichier donné, appelez FltSupportsFileContexts ou FltSupportsFileContextsEx.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista et versions ultérieures |
Plateforme cible | Universal |
En-tête | fltkernel.h (inclure Fltkernel.h) |
Bibliothèque | FltMgr.lib |
IRQL | <= APC_LEVEL |