NDIS_SWITCH_REPORT_FILTERED_NET_BUFFER_LISTS fonction de rappel (ndis.h)
La fonction ReportFilteredNetBufferLists signale un ou plusieurs paquets réseau qui ont été supprimés ou exclus de la remise de port par l’extension de commutateur extensible. Chaque paquet réseau est défini via une structure NET_BUFFER_LIST .
Syntaxe
NDIS_SWITCH_REPORT_FILTERED_NET_BUFFER_LISTS NdisSwitchReportFilteredNetBufferLists;
void NdisSwitchReportFilteredNetBufferLists(
[in] NDIS_SWITCH_CONTEXT NdisSwitchContext,
[in] PUNICODE_STRING ExtensionGuid,
[in] PUNICODE_STRING ExtensionFriendlyName,
[in] NDIS_SWITCH_PORT_ID PortId,
[in] UINT32 Flags,
[in] UINT32 NumberOfNetBufferLists,
[in] PNET_BUFFER_LIST NetBufferLists,
[in, optional] PUNICODE_STRING FilterReason
)
{...}
Paramètres
[in] NdisSwitchContext
Valeur NDIS_SWITCH_CONTEXT qui contient le handle du module de commutateur extensible auquel l’extension de commutateur extensible Hyper-V est attachée. Lorsque l’extension appelle NdisFGetOptionalSwitchHandlers, ce handle est retourné par le biais du paramètre NdisSwitchContext .
[in] ExtensionGuid
Pointeur vers une structure UNICODE_STRING qui contient le GUID de l’extension. NDIS spécifie ce GUID dans le membre FilterModuleGuidName de la structure NDIS_FILTER_ATTACH_PARAMETERS . NDIS passe un pointeur vers cette structure dans le paramètre AttachParameters quand il appelle la fonction FilterAttach de l’extension.
[in] ExtensionFriendlyName
Pointeur vers une structure UNICODE_STRING qui contient le nom convivial de l’extension. Ce nom est défini par l’entrée DisplayName dans la directive AddService du fichier INF de l’extension.
[in] PortId
Valeur NDIS_SWITCH_PORT_ID qui spécifie un port de commutateur extensible. Pour plus d'informations, consultez la section Notes.
[in] Flags
Valeur UINT32. Lorsque l’indicateur NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_IS_INCOMING est spécifié, il indique que le membre PortId définit la source du paquet supprimé. Lorsqu’il n’est pas spécifié, le membre PortId définit le port de commutateur extensible de destination. Pour plus d'informations, consultez la section Notes.
[in] NumberOfNetBufferLists
Valeur UINT32 qui contient le nombre de structures NET_BUFFER_LIST spécifiées par le paramètre NetBufferLists .
[in] NetBufferLists
Pointeur vers une liste liée de structures NET_BUFFER_LIST .
[in, optional] FilterReason
Pointeur vers une structure de UNICODE_STRING qui contient une description conviviale de la raison de la suppression ou de l’exclusion des paquets. Pour plus d'informations, consultez la section Notes.
Valeur de retour
None
Remarques
Lorsque l’extension exclut la remise d’un paquet à un port de commutateur extensible, elle doit appeler ReportFilteredNetBufferLists. Lorsque cette fonction est appelée, le module de commutateur extensible incrémente les compteurs et journalise les événements pour les paquets supprimés ou exclus. Lorsqu’il enregistre un événement pour un ensemble de paquets supprimé ou exclu, le module de commutateur extensible utilise la description conviviale spécifiée par le paramètre FilterReason .
L’extension peut exclure la remise d’un paquet des manières suivantes :
- L’extension termine le paquet au lieu de le transférer via la pile de pilotes de commutateur extensible. Par exemple, l’extension peut appeler NdisFSendNetBufferListsComplete pour supprimer un paquet qu’elle a inspecté quand NDIS appelle sa fonction FilterSendNetBufferLists .
-
L’extension modifie les ports de destination d’un paquet. Par exemple, l’extension doit appeler ReportFilteredNetBufferLists si elle définit le membre IsExcluded sur TRUE dans la structure NDIS_SWITCH_PORT_DESTINATION pour un port de destination du paquet.
Pour plus d’informations sur l’exclusion de la remise de paquets vers des ports de commutateur extensibles, consultez Exclusion de la remise de paquets vers les ports de destination de commutateur extensible.
- Le paramètre NetBufferLists a spécifié une liste liée de structures NET_BUFFER_LIST . Tous les paquets spécifiés par ces structures doivent avoir été reçus ou envoyés vers le même port, et ont été supprimés ou exclus pour la même raison.
- Si le paquet est supprimé en raison d’une stratégie basée sur le port source, l’indicateur NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_IS_INCOMING doit être spécifié. L’extension doit également définir le paramètre PortId sur l’identificateur du port à partir duquel le paquet a été reçu.
- Si le paquet est supprimé en raison d’une stratégie basée sur le port de destination, l’indicateur NDIS_SWITCH_REPORT_FILTERED_NBL_FLAGS_IS_INCOMING ne doit pas être spécifié. L’extension doit également définir le paramètre PortId sur l’identificateur du port auquel le paquet devait être envoyé.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Pris en charge dans NDIS 6.30 et versions ultérieures. |
Plateforme cible | Desktop (Expérience utilisateur) |
En-tête | ndis.h (inclure Ndis.h) |
IRQL | <= DISPATCH_LEVEL |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour