FltEnumerateFilters, fonction (fltkernel.h)
La routine FltEnumerateFilters énumère tous les pilotes de minifilter inscrits dans le système.
Syntaxe
NTSTATUS FLTAPI FltEnumerateFilters(
[out] PFLT_FILTER *FilterList,
[in] ULONG FilterListSize,
[out] PULONG NumberFiltersReturned
);
Paramètres
[out] FilterList
Pointeur vers une mémoire tampon allouée par l’appelant qui reçoit un tableau de pointeurs de filtre opaques. Ce paramètre est facultatif et peut être NULL si la valeur de FilterListSize paramètre est égale à zéro. Si FilterListSize est égal à zéro lors de l’entrée et FilterList est NULL, le paramètre NumberFiltersReturned reçoit le nombre de pilotes minifilter trouvés.
[in] FilterListSize
Nombre de pointeurs de filtre opaques que la mémoire tampon que le FilterList points de paramètre à contenir. Ce paramètre est facultatif et peut être égal à zéro. Si FilterListSize est égal à zéro lors de l’entrée et FilterList est NULL, le paramètre NumberFiltersReturned reçoit le nombre de pilotes minifilter trouvés.
[out] NumberFiltersReturned
Pointeur vers une variable allouée par l’appelant qui reçoit le nombre de pointeurs de filtre opaque retournés dans le tableau vers lequel pointe le paramètre FilterList . Si la valeur du paramètre FilterListSize est trop petite et FilterList n’est pas NULL lors de l’entrée, FltEnumerateFilters retourne STATUS_BUFFER_TOO_SMALL et définit NumberFiltersReturned pour pointer vers le nombre de pilotes minifilter trouvés. Ce paramètre est obligatoire et ne peut pas être NULL.
Valeur de retour
FltEnumerateFilters retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, par exemple :
Retourner le code | Description |
---|---|
|
Mémoire tampon pour laquelle le FilterList points de paramètre n’est pas suffisamment volumineux pour stocker les informations demandées. Il s’agit d’un code d’erreur. |
Remarques
Étant donné que les filtres peuvent s’inscrire à tout moment, deux appels à FltEnumerateFilters ne sont pas garantis pour retourner le même résultat.
FltEnumerateFilters ajoute une référence d’exécution à chacun des pointeurs de filtre opaque retournés dans le tableau auquel pointe le paramètre FilterList . Lorsque ces pointeurs ne sont plus nécessaires, l’appelant doit les libérer en appelant FltObjectDereference sur chacun d’eux. Ainsi, chaque appel réussi à FltEnumerateFilters doit être mis en correspondance par un appel ultérieur à FltObjectDereference pour chaque pointeur de filtre retourné.
Pour répertorier les informations de filtre pour tous les pilotes minifilter inscrits, appelez FltEnumerateFilterInformation.
Pour énumérer les instances de tous les pilotes minifilter sur tous les volumes, appelez FltEnumerateInstances.
Pour énumérer tous les volumes connus du Gestionnaire de filtres, appelez FltEnumerateVolumes.
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
d’en-tête | fltkernel.h (include Fltkernel.h) |
bibliothèque | FltMgr.lib |
IRQL | <= APC_LEVEL |