Partager via


OID_RECEIVE_FILTER_CLEAR_FILTER

Les pilotes excessivement émettent des demandes de jeu d’OID de OID_RECEIVE_FILTER_CLEAR_FILTER pour effacer un filtre de réception sur une carte réseau.

Le membre InformationBuffer de la structure NDIS_OID_REQUEST contient un pointeur vers une structure NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS .

Notes

Les filtres de réception NDIS sont utilisés dans les interfaces NDIS suivantes :

La demande d’ensemble OID de OID_RECEIVE_FILTER_CLEAR_FILTER est obligatoire pour les pilotes miniport qui prennent en charge l’interface de fusion de paquets NDIS, SR-IOV ou VMQ.

Un pilote overly, tel qu’un protocole NDIS ou un pilote de filtre, utilise la demande de définition OID_RECEIVE_FILTER_CLEAR_FILTER pour effacer un filtre précédemment défini. Seul le pilote qui a défini le filtre de réception peut l’effacer.

Le pilote overlying efface un filtre de réception en définissant le membre FilterId de la structure NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS sur l’identificateur du filtre. Le pilote a obtenu l’identificateur de filtre à partir d’une demande de méthode OID antérieure de OID_RECEIVE_FILTER_SET_FILTER.

Instructions supplémentaires pour la fusion de paquets NDIS

Le point suivant s’applique aux pilotes miniport et overlying qui prennent en charge la fusion de paquets NDIS :

  • Un pilote qui se superpose doit effacer tous les filtres de réception qu’il a définis sur le pilote miniport avant de se dissocier ou de se détacher du pilote.

Instructions supplémentaires pour l’interface SR-IOV

Les points suivants s’appliquent aux pilotes miniport et overlying qui prennent en charge l’interface SR-IOV :

  • Un pilote trop élevé doit effacer tous les filtres qu’il a définis sur un VPort SR-IOV avant de libérer le VPort. Le pilote qui se superpose doit également effacer tous les filtres qu’il a définis sur le VPort par défaut avant de fermer sa liaison à la carte réseau.

  • Un pilote miniport ne doit pas indiquer de paquets sur un VPort non défini s’il a terminé la requête OID de OID_RECEIVE_FILTER_CLEAR_FILTER pour effacer le dernier filtre sur le VPort.

    Note Un pilote miniport ne doit pas non plus indiquer de paquets sur un VPort non défini par défaut s’il a effectué une requête OID de OID_NIC_SWITCH_DELETE_VPORT pour libérer le VPort.

Instructions supplémentaires pour l’interface VMQ

Les points suivants s’appliquent aux pilotes miniport et overlying qui prennent en charge l’interface VMQ :

  • Un pilote overlying doit effacer tous les filtres qu’il a définis sur une file d’attente de réception VMQ avant de libérer la file d’attente. Le pilote qui se superpose doit également effacer tous les filtres qu’il a définis sur les files d’attente par défaut ou supprimer avant de fermer sa liaison à la carte réseau.

  • Un pilote miniport ne doit pas indiquer les paquets d’une file d’attente de réception s’il a terminé la requête OID de OID_RECEIVE_FILTER_CLEAR_FILTER pour effacer le dernier filtre de la file d’attente de réception.

    Note Un pilote miniport ne doit pas non plus indiquer de paquets dans une file d’attente de réception s’il a effectué une demande OID de OID_RECEIVE_FILTER_FREE_QUEUE pour libérer la file d’attente de réception.

Retourner les codes status

La fonction MiniportOidRequest du pilote miniport retourne l’une des valeurs suivantes pour cette requête :

Terme Description

NDIS_STATUS_SUCCESS

Le pilote miniport a effectué la demande avec succès.

NDIS_STATUS_PENDING

Le pilote miniport termine la requête de manière asynchrone. Une fois que le pilote miniport a terminé tout le traitement, il doit réussir la demande en appelant la fonction NdisMOidRequestComplete , en passant NDIS_STATUS_SUCCESS pour le paramètre Status .

NDIS_STATUS_NOT_ACCEPTED

L’adaptateur miniport a été supprimé par surprise.

NDIS retourne l’un des codes status suivants pour cette demande :

NDIS_STATUS_SUCCESS
Le filtre spécifié a été effacé avec succès.

NDIS_STATUS_PENDING
La demande est en attente d’achèvement. NDIS transmet le code status final et les résultats au gestionnaire d’achèvement de la requête OID de l’appelant une fois la requête terminée.

NDIS_STATUS_FILE_NOT_FOUND
L’identificateur de filtre n’est pas valide.

NDIS_STATUS_INVALID_LENGTH
La mémoire tampon d’informations est trop petite. NDIS définit les DONNÉES. SET_INFORMATION. Le membre BytesNeeded dans le NDIS_OID_REQUEST structure à la taille de mémoire tampon minimale requise.

Spécifications

Version

Pris en charge dans NDIS 6.20 et versions ultérieures.

En-tête

Ntddndis.h (inclure Ndis.h)

Voir aussi

NDIS_OID_REQUEST

NDIS_RECEIVE_FILTER_CLEAR_PARAMETERS

OID_NIC_SWITCH_DELETE_VPORT

OID_RECEIVE_FILTER_FREE_QUEUE

OID_RECEIVE_FILTER_SET_FILTER