Fonction FltEnumerateInstanceInformationByFilter (fltkernel.h)
La routine FltEnumerateInstanceInformationByFilter fournit des informations sur les instances d’un pilote de minifiltre donné.
Syntaxe
NTSTATUS FLTAPI FltEnumerateInstanceInformationByFilter(
[in] PFLT_FILTER Filter,
[in] ULONG Index,
[in] INSTANCE_INFORMATION_CLASS InformationClass,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out] PULONG BytesReturned
);
Paramètres
[in] Filter
Pointeur de filtre opaque pour l’appelant.
[in] Index
Index de base zéro du instance pour lequel les informations sont demandées.
[in] InformationClass
Type d’informations demandées. Ce paramètre peut avoir l’une des valeurs suivantes.
Valeur | Signification |
---|---|
InstanceBasicInformation | La mémoire tampon pointée vers le paramètre Buffer reçoit une structure INSTANCE_BASIC_INFORMATION pour le instance. |
InstanceFullInformation | La mémoire tampon pointée vers le paramètre Buffer reçoit une structure INSTANCE_FULL_INFORMATION pour le instance. |
InstancePartialInformation | La mémoire tampon pointée vers le paramètre Buffer reçoit une structure INSTANCE_PARTIAL_INFORMATION pour le instance. |
InstanceAggregateStandardInformation | La mémoire tampon pointée vers le paramètre Buffer reçoit une structure INSTANCE_AGGREGATE_STANDARD_INFORMATION pour le instance. La partie LegacyFilter de la structure n’est pas utilisée. Cette structure est disponible à partir de Windows Vista. |
[out] Buffer
Pointeur vers une mémoire tampon allouée à l’appelant qui reçoit les informations demandées. Le type des informations retournées dans la mémoire tampon est défini par le paramètre InformationClass .
[in] BufferSize
Taille, en octets, de la mémoire tampon vers laquelle pointe le paramètre Buffer . L’appelant doit définir ce paramètre en fonction de la valeur InformationClass donnée.
[out] BytesReturned
Pointeur vers une variable allouée à l’appelant qui reçoit le nombre d’octets retournés dans la mémoire tampon vers laquelle la mémoire tampon pointe. Si la valeur d’entrée de BufferSize est trop petite, FltEnumerateInstanceInformationByFilter retourne STATUS_BUFFER_TOO_SMALL et définit cette variable sur le nombre d’octets requis pour stocker les informations demandées. Ce paramètre est obligatoire et ne peut pas avoir la valeur NULL.
Valeur retournée
FltEnumerateInstanceInformationByFilter retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, par exemple :
Code de retour | Description |
---|---|
|
La mémoire tampon vers laquelle pointe le paramètre Buffer n’est pas assez grande pour stocker les informations demandées. Il s’agit d’un code d’erreur. |
|
Une instance correspondante a été trouvée, mais elle est en cours de déclassement. Il s’agit d’un code d’erreur. |
|
Une valeur non valide a été spécifiée pour le paramètre InformationClass . Par exemple, si FilterAggregateStandardInformation est spécifié sur un système d’exploitation antérieur à Windows Vista, la routine retourne STATUS_INVALID_PARAMETER. Il s’agit d’un code d’erreur. |
|
Il n’y a plus d’entrées dans la liste des instance du pilote minifiltre. Il s’agit d’un code d’avertissement. |
Remarques
Le paramètre Index est simplement un moyen pour FltEnumerateInstanceInformationByFilter de sélectionner parmi les instances de la liste instance pour le pilote de minifiltre spécifié par Filter. Étant donné que les instances de pilote de minifiltre dans la liste instance peuvent changer à tout moment, deux appels à FltEnumerateInstanceInformationByFilter avec les mêmes valeurs Index et Filter ne sont pas garantis pour retourner le même résultat.
Pour énumérer tous les pilotes de minifiltre inscrits, appelez FltEnumerateFilters.
Pour répertorier les informations de filtre pour tous les pilotes de minifiltre inscrits, appelez FltEnumerateFilterInformation.
Pour obtenir des informations de filtre pour un pilote de minifiltre donné, appelez FltGetFilterInformation.
Pour énumérer toutes les instances de pilote de minifiltre sur un volume donné, appelez FltEnumerateInstanceInformationByVolume.
Pour énumérer les instances de tous les pilotes de minifiltre sur tous les volumes, appelez FltEnumerateInstances.
Pour énumérer tous les volumes connus du Gestionnaire de filtres, appelez FltEnumerateVolumes.
.
Configuration requise
Condition requise | Valeur |
---|---|
Plateforme cible | Universal |
En-tête | fltkernel.h (inclure FltKernel.h) |
Bibliothèque | FltMgr.lib |
IRQL | <= APC_LEVEL |
Voir aussi
FltEnumerateInstanceInformationByVolume