Partager via


Fonction FltGetFilterFromInstance (fltkernel.h)

La routine FltGetFilterFromInstance retourne un pointeur de filtre opaque pour le pilote de minifiltre qui a créé le instance donné.

Syntaxe

NTSTATUS FLTAPI FltGetFilterFromInstance(
  [in]  PFLT_INSTANCE Instance,
  [out] PFLT_FILTER   *RetFilter
);

Paramètres

[in] Instance

Pointeur instance opaque pour le instance.

[out] RetFilter

Pointeur vers une variable allouée à l’appelant qui reçoit un pointeur de filtre opaque pour le pilote de minifiltre. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.

Valeur retournée

FltGetFilterFromInstance retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, par exemple :

Code de retour Description
STATUS_FLT_DELETING_OBJECT
Le pilote de minifiltre est en train d’être détruit. Il s’agit d’un code d’erreur.

Remarques

FltGetFilterFromInstance ajoute une référence d’exécution au pointeur de filtre opaque retourné dans le paramètre RetFilter . Lorsque ce pointeur n’est plus nécessaire, l’appelant doit le libérer en appelant FltObjectDereference. Ainsi, chaque appel réussi à FltGetFilterFromInstance doit être mis en correspondance par un appel ultérieur à FltObjectDereference.

Pour obtenir un pointeur de volume opaque pour le volume auquel un pilote de minifiltre donné instance est attaché, appelez FltGetVolumeFromInstance.

Pour énumérer toutes les instances d’un pilote de minifiltre donné, appelez FltEnumerateInstanceInformationByFilter.

Pour énumérer les instances de tous les pilotes de minifiltre sur tous les volumes, appelez FltEnumerateInstances.

Configuration requise

Condition requise Valeur
Plateforme cible Universal
En-tête fltkernel.h (inclure Fltkernel.h)
Bibliothèque FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

Voir aussi

FltEnumerateInstanceInformationByFilter

FltEnumerateInstances

FltGetVolumeFromInstance

FltObjectDereference