NdisEnumerateFilterModules, fonction (ndis.h)
La fonction NdisEnumerateFilterModules énumère tous les modules de filtres et les instances de pilote intermédiaire de filtre dans une pile de filtres.
Syntaxe
NDIS_STATUS NdisEnumerateFilterModules(
[in] NDIS_HANDLE NdisHandle,
[in] PVOID InterfaceBuffer,
[in] ULONG InterfaceBufferLength,
[in, out] PULONG BytesNeeded,
[in, out] PULONG BytesWritten
);
Paramètres
[in] NdisHandle
Un handle NDIS obtenu lors de l’initialisation de l’appelant. Pour plus d’informations sur ce handle, consultez Obtention de handles de pool.
Si le handle est un handle d’adaptateur miniport NDIS, NDIS retourne des informations sur tous les modules d’interface actuellement attachés à l’adaptateur miniport, en commençant par le module de filtre le plus haut.
Si le handle est un handle de liaison NDIS, NDIS retourne des informations sur tous les modules de filtre actuellement attachés à l’adaptateur miniport sous-jacent, en commençant par le module de filtre le plus haut.
Si le handle est un handle de module de filtre NDIS, NDIS retourne des informations sur tous les modules de filtre actuellement attachés à l’adaptateur miniport sous-jacent auquel le module de filtre spécifié est attaché, en commençant par le module de filtre supérieur.
[in] InterfaceBuffer
Pointeur vers un bloc de mémoire alloué à l’appelant dans lequel NDIS retourne les informations de tous les modules de filtre dans une pile de filtres, en commençant par le filtre le plus haut. Cette mémoire tampon contient une structure NDIS_ENUM_FILTERS suivie de zéro ou plusieurs structures NDIS_FILTER_INTERFACE , une pour chaque module de filtre dans la pile.
[in] InterfaceBufferLength
Longueur, en octets, du bloc de mémoire fourni par l’appelant au niveau du membre InterfaceBuffer .
[in, out] BytesNeeded
Pointeur vers une variable fournie par l’appelant où NDIS écrit le nombre total d’octets requis par NDIS pour retourner les informations d’interface pour tous les filtres de la pile de filtres.
[in, out] BytesWritten
Pointeur vers une variable fournie par l’appelant où NDIS écrit le nombre total d’octets que NDIS a écrits dans la mémoire sur InterfaceBuffer.
Valeur retournée
NdisEnumerateFilterModules retourne l’une des valeurs status suivantes :
Code de retour | Description |
---|---|
|
L’opération s’est terminée avec succès. |
|
NdisEnumerateFilterModules a échoué, car le paramètre NdisHandle n’était pas un adaptateur miniport NDIS, une liaison de protocole ou un handle de module de filtre valide. |
|
NdisEnumerateFilterModules a échoué, car la mémoire tampon fournie au niveau du paramètre InterfaceBuffer était trop courte pour que NDIS retourne toutes les informations. Si un résultat partiel a été écrit dans InterfaceBuffer, la valeur du paramètre BytesWritten contient la longueur des résultats partiels. |
Remarques
Un pilote miniport NDIS, un pilote de protocole ou un pilote de filtre peut appeler la fonction NdisEnumerateFilterModules pour énumérer tous les filtres d’une pile de filtres.
NdisEnumerateFilterModules retourne la liste des modules de filtre et filtre les pilotes intermédiaires du haut au bas de la pile de pilotes. Par exemple, si les modules de filtre (F1 et F2) sont attachés à l’adaptateur miniport (M1) et si F2 est supérieur à F1, NdisEnumerateFilterModules retourne la liste dans l’ordre suivant : F2, F1. S’il existe également un pilote intermédiaire de filtre (M2) lié à M1, si M2 est supérieur à F2 et si un autre filtre (F3) est attaché à M2, NdisEnumerateFilterModules retourne la liste de filtres dans l’ordre suivant : F3, M2, F2, F1.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.0 et versions ultérieures. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | ndis.h (inclure Ndis.h) |
Bibliothèque | Ndis.lib |
IRQL | PASSIVE_LEVEL |
Règles de conformité DDI | Irql_Filter_Driver_Function(ndis) |