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 .
Les filtres de réception NDIS sont utilisés dans les interfaces NDIS suivantes :
Fusion des paquets NDIS. Pour plus d’informations sur l’utilisation des filtres de réception dans cette interface, consultez Gestion des filtres de réception de fusion de paquets.
Virtualisation d’E/S racine unique (SR-IOV). Pour plus d’informations sur l’utilisation des filtres de réception dans cette interface, consultez Définition d’un filtre de réception sur un port virtuel.
Virtual Machine Queue (VMQ). Pour plus d’informations sur l’utilisation des filtres de réception dans cette interface, consultez Définition et effacement des filtres VMQ.
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.
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.
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.
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.
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.
Version |
Pris en charge dans NDIS 6.20 et versions ultérieures. |
En-tête |
Ntddndis.h (inclure Ndis.h) |