FltEnumerateInstanceInformationByDeviceObject, fonction (fltkernel.h)
La routine FltEnumerateInstanceInformationByDeviceObject fournit des informations sur les instances de pilote minifilter et les pilotes de filtre hérités attachés au volume lié à un objet de périphérique spécifié.
Syntaxe
NTSTATUS FLTAPI FltEnumerateInstanceInformationByDeviceObject(
[in] PDEVICE_OBJECT DeviceObject,
[in] ULONG Index,
[in] INSTANCE_INFORMATION_CLASS InformationClass,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out] PULONG BytesReturned
);
Paramètres
[in] DeviceObject
Objet d’appareil pour l’objet ou le volume de fichier associé.
[in] Index
Index de base zéro de l’instance de pilote minifilter ou du pilote de filtre hérité pour lequel les informations sont demandées.
[in] InformationClass
Type d’informations à retourner pour l’instance de pilote minifilter ou le pilote de filtre hérité. Ce paramètre peut avoir l’une des valeurs suivantes.
Valeur | Signification |
---|---|
InstanceBasicInformation | La mémoire tampon pointée par le paramètre tampon de reçoit une structure INSTANCE_BASIC_INFORMATION pour une instance de minifilter. Les pilotes de filtre hérités sont ignorés. |
InstanceFullInformation | La mémoire tampon pointée par le paramètre Buffer reçoit une structure INSTANCE_FULL_INFORMATION pour une instance de minifilter. Les pilotes de filtre hérités sont ignorés. |
InstancePartialInformation | La mémoire tampon pointée par le paramètre Buffer reçoit une structure INSTANCE_PARTIAL_INFORMATION pour une instance de minifilter. Les pilotes de filtre hérités sont ignorés. |
InstanceAggregateStandardInformation | La mémoire tampon pointée par le paramètre Buffer reçoit une structure INSTANCE_AGGREGATE_STANDARD_INFORMATION pour une instance de pilote minifilter ou un pilote de filtre hérité. |
[out] Buffer
Pointeur vers une mémoire tampon allouée par 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 tampon. L’appelant doit définir ce paramètre en fonction de la valeur InformationClass donnée.
[out] BytesReturned
Pointeur vers une variable allouée par l’appelant qui reçoit le nombre d’octets retournés dans la mémoire tampon vers laquelle tampon pointe. Si la valeur d’entrée de BufferSize est trop petite, FltEnumerateInstanceInformationByDeviceObject 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 être NULL.
Valeur de retour
FltEnumerateInstanceInformationByDeviceObject retourne STATUS_SUCCESS ou une valeur NTSTATUS appropriée, comme l’une des valeurs suivantes :
Retourner le code | Description |
---|---|
|
Mémoire tampon pour laquelle le paramètre tampon pointe vers n’est pas suffisamment grand pour stocker les informations demandées. |
|
Une instance de minifilter correspondante a été trouvée, mais elle est détruite. Notez que cette valeur de retour ne s’applique pas aux pilotes de filtre hérités, car les pilotes de filtre hérités ne peuvent pas être déchargés. |
|
Une valeur non valide a été spécifiée pour le paramètre InformationClass. |
|
Il n’y a plus d’entrées dans la liste d’instances/de filtres du volume. |
|
Aucun volume associé n’a été trouvé pour DeviceObject. |
|
deviceObject n’est pas un objet d’appareil de volume valide.
-ou- Le volume lié à DeviceObject a été inscrit, mais n’a pas d’instances de filtre attachées. |
Remarques
L’utilisation du paramètre Index est simplement un moyen pour FltEnumerateInstanceInformationByDeviceObject de sélectionner parmi les instances de pilote minifilter et les pilotes de filtre hérités dans la liste d’instances/filtres du volume lié à DeviceObject. Étant donné que les instances de pilote minifilter dans la liste d’instances/filtres peuvent changer à tout moment, deux appels à FltEnumerateInstanceInformationByDeviceObject avec le même d’index et valeurs DeviceObject ne sont pas garantis pour retourner le même résultat.
Cette routine retourne à la fois les informations de pilote de filtre héritées et les informations d’instance de pilote minifilter lorsque la valeur du paramètre InformationClass est InstanceAggregateStandardInformation.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible à partir de Windows 8. |
plateforme cible | Universel |
d’en-tête | fltkernel.h (include Fltkernel.h) |
bibliothèque | FltMgr.lib |
IRQL | <= APC_LEVEL |
Voir aussi
FltEnumerateInstanceInformationByFilter