Partager via


Énumération de filtres sur une machine virtuelle

Pour obtenir la liste de tous les filtres définis dans une file d’attente de réception, les pilotes et les applications qui se superposent peuvent utiliser la demande d’identificateur d’objet (OID) de méthode OID_RECEIVE_FILTER_ENUM_FILTERS .

Le membre InformationBuffer de la structure NDIS_OID_REQUEST contient initialement un pointeur vers une structure NDIS_RECEIVE_FILTER_INFO_ARRAY . Lorsqu’il met en forme la structure NDIS_RECEIVE_FILTER_INFO_ARRAY , le pilote ou l’application qui se superpose doit définir le membre QueueId sur l’identificateur (ID) de la file d’attente de réception. L’ID de file d’attente de réception est obtenu des manières suivantes :

  • Le pilote overlying a obtenu la valeur d’ID de file d’attente de réception à partir de requêtes de méthode OID antérieures de OID_RECEIVE_FILTER_ALLOCATE_QUEUE ou de OID_RECEIVE_FILTER_ENUM_QUEUES. Le pilote peut également spécifier NDIS_DEFAULT_RECEIVE_QUEUE_ID pour la file d’attente de réception par défaut.

  • Une application a obtenu la valeur d’ID de file d’attente de réception à partir d’une demande de méthode OID antérieure de OID_RECEIVE_FILTER_ENUM_QUEUES. L’application peut également spécifier NDIS_DEFAULT_RECEIVE_QUEUE_ID pour la file d’attente de réception par défaut.

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’ID d’un filtre défini dans la file d’attente de réception spécifiée.

Les pilotes ou applications sur-ment peuvent utiliser la demande de méthode OID OID_RECEIVE_FILTER_PARAMETERS pour obtenir les paramètres d’un filtre spécifique sur une file d’attente de réception.

Le membre InformationBuffer de la structure NDIS_OID_REQUEST contient initialement un pointeur vers une structure NDIS_RECEIVE_FILTER_PARAMETERS . Le pilote ou l’application excessivement formate 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.

Note Le pilote overlying a obtenu l’ID de filtre à partir d’une demande de méthode OID antérieure de OID_RECEIVE_FILTER_SET_FILTER ou de OID_RECEIVE_FILTER_ENUM_FILTERS. L’application peut obtenir l’ID de filtre uniquement à partir d’une demande de méthode OID antérieure de OID_RECEIVE_FILTER_ENUM_FILTERS.

NDIS gère les requêtes OID OID_RECEIVE_FILTER_ENUM_FILTERS et OID_RECEIVE_FILTER_PARAMETERS méthode pour les pilotes miniport. NDIS a obtenu les informations d’un cache interne des données qu’il a reçues de la requête OID OID_RECEIVE_FILTER_SET_FILTER .