Modification des filtres de réception de fusion de paquets
Pour modifier un filtre de réception sur un pilote miniport qui prend en charge la fusion de paquets, un protocole ou un pilote de filtre de dépassement effectue les étapes suivantes :
Pour obtenir la liste de tous les filtres de réception de fusion de paquets qui ont été téléchargés sur un pilote miniport, le pilote sur-ment émet une demande de méthode OID de OID_RECEIVE_FILTER_ENUM_FILTERS. Le membre InformationBuffer de la structure NDIS_OID_REQUEST contient un pointeur vers une structure NDIS_RECEIVE_FILTER_INFO_ARRAY .
Note Lorsque le pilote ou l’application qui se superpose initialise la structure NDIS_RECEIVE_FILTER_INFO_ARRAY , elle doit définir le membre QueueId sur NDIS_DEFAULT_RECEIVE_QUEUE_ID.
Après un retour réussi de la demande de méthode OID de OID_RECEIVE_FILTER_ENUM_FILTERS, le membre InformationBuffer de la structure NDIS_OID_REQUEST contient un pointeur vers une structure de NDIS_RECEIVE_FILTER_INFO_ARRAY mise à jour qui est suivie d’une ou de plusieurs structures NDIS_RECEIVE_FILTER_INFO . Chaque structure NDIS_RECEIVE_FILTER_INFO spécifie l’identificateur (ID) d’un filtre défini sur la carte réseau.
Pour obtenir les paramètres d’un filtre de réception de fusion de paquets spécifique qui a été téléchargé sur le pilote miniport, le pilote overlying émet une demande de méthode OID de OID_RECEIVE_FILTER_PARAMETERS. Le membre InformationBuffer de la structure NDIS_OID_REQUEST contient un pointeur vers une structure NDIS_RECEIVE_FILTER_PARAMETERS . Le pilote ou l’application overly initialise la structure NDIS_RECEIVE_FILTER_PARAMETERS en définissant le membre FilterId sur la valeur d’ID différente de zéro du filtre dont les paramètres doivent être retournés.
Après un retour réussi de la demande de méthode OID, le membre InformationBuffer de la structure NDIS_OID_REQUEST contient un pointeur vers une mémoire tampon. Cette mémoire tampon est mise en forme pour contenir les éléments suivants :
Structure NDIS_RECEIVE_FILTER_PARAMETERS qui spécifie les paramètres du filtre de réception NDIS.
Tableau de structures NDIS_RECEIVE_FILTER_FIELD_PARAMETERS qui spécifie le critère de test de filtre pour un champ dans un en-tête de paquet réseau.
Le pilote de dépassement modifie le filtre de réception pour ajouter, supprimer ou modifier l’ensemble de critères de test du filtre. Pour ce faire, le pilote ajoute, supprime ou modifie des structures NDIS_RECEIVE_FILTER_FIELD_PARAMETERS individuelles du tableau de paramètres de champ spécifié par la structure NDIS_RECEIVE_FILTER_PARAMETERS .
Une fois que le pilote sur-ment a effectué les modifications apportées au critère de test, il doit mettre à jour les membres de la structure NDIS_RECEIVE_FILTER_PARAMETERS pour refléter les modifications apportées au filtre de réception. Par exemple, le pilote overlying doit mettre à jour le membre FieldParametersArrayNumElements pour contenir le nouveau nombre d’éléments dans le tableau.
Pour plus d’informations, consultez Spécification d’un filtre de réception de fusion de paquets.
Le pilote overlying émet une demande de méthode OID de OID_RECEIVE_FILTER_SET_FILTER pour télécharger le filtre de réception modifié sur le pilote miniport.
Pour plus d’informations, consultez Définition d’un filtre de réception de fusion de paquets.