NdisEnumerateFilterModules, fonction (ndis.h)
La fonction NdisEnumerateFilterModules énumère tous les modules de filtre et les instances de pilote intermédiaires 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
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 le plus haut.
[in] InterfaceBuffer
Pointeur vers un bloc de mémoire alloué par 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 de 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 correctement 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 écrits par NDIS dans la mémoire à InterfaceBuffer.
Valeur de retour
NdisEnumerateFilterModules retourne l’une des valeurs d’état suivantes :
Retourner le code | 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 valide, une liaison de protocole ou un handle de module de filtre. |
|
NdisEnumerateFilterModules a échoué, car la mémoire tampon fournie au paramètre InterfaceBuffer était trop courte pour que NDIS retourne toutes les informations. Si un résultat partiel a été écrit à 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 des pilotes. Par exemple, si les modules de filtre (F1 et F2) sont attachés à l’adaptateur miniport (M1) et si F2 est au-dessus de 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 au-dessus de F2 et si un autre filtre (F3) est attaché à M2, NdisEnumerateFilterModules retourne la liste de filtres dans l’ordre suivant : F3, M2, F2, F1.