FltDeleteStreamContext, fonction (fltkernel.h)
FltDeleteStreamContext supprime un contexte défini par une instance de pilote minifilter donnée pour un flux donné et marque le contexte de suppression.
Syntaxe
NTSTATUS FLTAPI FltDeleteStreamContext(
[in] PFLT_INSTANCE Instance,
[in] PFILE_OBJECT FileObject,
[out] PFLT_CONTEXT *OldContext
);
Paramètres
[in] Instance
Pointeur d’instance opaque pour l’instance de pilote minifilter dont le contexte doit être supprimé de la liste des contextes attachés au flux de fichiers.
[in] FileObject
Pointeur vers un objet de fichier pour le flux de fichiers.
[out] OldContext
Pointeur vers une variable allouée par l’appelant qui reçoit l’adresse du contexte supprimé. Ce paramètre est facultatif et peut être NULL. Si OldContext n’est pas NULL et ne pointe pas vers NULL_CONTEXT, l’appelant est chargé d’appeler FltReleaseContext pour libérer ce contexte lorsqu’il n’est plus nécessaire.
Valeur de retour
FltDeleteStreamContext retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, comme l’une des valeurs suivantes :
Retourner le code | Description |
---|---|
STATUS_FLT_DELETING_OBJECT | Le d’instance spécifié est détruit. Il s’agit d’un code d’erreur. |
STATUS_NOT_FOUND | Aucun contexte correspondant n’a été trouvé. Il s’agit d’un code d’erreur. |
STATUS_NOT_SUPPORTED | Le système de fichiers ne prend pas en charge les contextes par flux pour ce flux de fichiers. Il s’agit d’un code d’erreur. |
Remarques
Pour plus d’informations sur les contextes, consultez À propos des contextes minifilter.
Étant donné que les contextes sont comptabilisés par référence, il n’est généralement pas nécessaire qu’un pilote minifilter appelle une routine telle que FltDeleteStreamContext pour supprimer explicitement un contexte.
Un pilote minifilter appelle FltDeleteStreamContext pour supprimer un contexte d’un flux de fichiers et marquer le contexte à supprimer. Le contexte est généralement libéré immédiatement, sauf s’il existe une référence en attente sur celle-ci (par exemple, parce que le contexte est toujours utilisé par un autre thread).
Pour allouer un nouveau contexte, appelez FltAllocateContext.
Pour obtenir un contexte de flux, appelez FltGetStreamContext.
Pour définir un contexte de flux, appelez FltSetStreamContext.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
d’en-tête | fltkernel.h (include Fltkernel.h) |
bibliothèque | FltMgr.lib |
IRQL | <= APC_LEVEL |