Fonction FltDeleteInstanceContext (fltkernel.h)
FltDeleteInstanceContext supprime un contexte d’un instance donné et marque le contexte de suppression.
Syntaxe
NTSTATUS FLTAPI FltDeleteInstanceContext(
[in] PFLT_INSTANCE Instance,
[out] PFLT_CONTEXT *OldContext
);
Paramètres
[in] Instance
Pointeur instance opaque pour le instance.
[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’a pas la valeur NULL et ne pointe pas vers NULL_CONTEXT, l’appelant est responsable d’appeler FltReleaseContext pour libérer ce contexte lorsqu’il n’est plus nécessaire.
Valeur retournée
FltDeleteInstanceContext retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, par exemple :
Code de retour | Description |
---|---|
STATUS_FLT_DELETING_OBJECT | L’instance spécifiée est en cours de démolir. 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. |
Remarques
Pour plus d’informations sur les contextes, consultez À propos des contextes de minifiltre.
Étant donné que les contextes sont comptabilisés en référence, il n’est généralement pas nécessaire pour un pilote de minifiltre d’appeler une routine telle que FltDeleteInstanceContext pour supprimer explicitement un contexte.
Un pilote de minifiltre appelle FltDeleteInstanceContext pour supprimer un contexte d’un instance et marquer le contexte à supprimer. Le contexte 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).
Pour allouer un nouveau contexte, appelez FltAllocateContext.
Pour obtenir un contexte instance, appelez FltGetInstanceContext.
Pour définir un contexte instance, appelez FltSetInstanceContext.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | fltkernel.h (inclure Fltkernel.h) |
Bibliothèque | FltMgr.lib |
IRQL | <= APC_LEVEL |