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 doit suivre ces instructions lorsqu’elle appelle ReportFilteredNetBufferLists :
  • 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

FilterAttach

INF AddService Directive

NDIS_FILTER_ATTACH_PARAMETERS

NDIS_SWITCH_PORT_DESTINATION

NET_BUFFER_LIST

NdisFGetOptionalSwitchHandlers

UNICODE_STRING