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
NDIS_STATUS_SUCCESS
L’opération s’est terminée avec succès.
NDIS_STATUS_INVALID_PARAMETER
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.
NDIS_STATUS_BUFFER_TOO_SHORT
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)

Voir aussi

NDIS_ENUM_FILTERS

NDIS_FILTER_INTERFACE