FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 fonction de rappel (fwpsk.h)

Le moteur de filtre appelle la fonction de légende vSwitchFilterEngineReorderNotifyRn (FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0) pour informer le pilote de légende des événements associés à la réorganisation du moteur de filtre de commutateur virtuel.

NotezFWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 est une version spécifique de FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK. Pour plus d’informations , voir PAM Version-Independent noms et Ciblage de versions spécifiques de Windows .

Syntaxe

FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 FwpsVswitchFilterEngineReorderCallback0;

NTSTATUS FwpsVswitchFilterEngineReorderCallback0(
  [in, optional] void *notifyContext,
  [in]           void *completionContext,
  [in]           BOOLEAN isInRequiredPosition,
  [in]           const NDIS_ENUM_FILTERS *vSwitchExtensionLwfList
)
{...}

Paramètres

[in, optional] notifyContext

Pointeur vers un contexte fourni par le pilote de légende. Le pilote a passé ce pointeur au paramètre notifyContext de la fonction FwpsvSwitchEventsSubscribe0 . Ce paramètre est facultatif et peut être NULL.

[in] completionContext

Pointeur vers un contexte d’achèvement fourni par le pilote de légende. Ce paramètre est facultatif et peut être NULL.

[in] isInRequiredPosition

Valeur BOOLEAN définie sur TRUE si le filtre est à la position requise dans la pile de filtres ou FALSE si ce n’est pas le cas.

[in] vSwitchExtensionLwfList

Une structure NDIS_ENUM_FILTERS qui spécifie une liste des pilotes de filtre NDIS de l’extension de commutateur virtuel.

Valeur retournée

Une légende

FWPS_VSWITCH_FILTER_ENGINE_REORDER_CALLBACK0 fonction retourne l’un des codes NTSTATUS suivants.

Code de retour Description
STATUS_SUCCESS
Le pilote de légende accepte la notification du moteur de filtre.
Autres codes status
Une erreur est survenue.

Remarques

Un pilote de légende inscrit un

Fonction vSwitchFilterEngineReorderNotifyRn en appelant
fonction FwpsvSwitchEventsSubscribe0 .

Par défaut, l’extension de commutateur virtuel PAM est positionnée comme première extension de filtrage à l’entrée du commutateur virtuel. (Par conséquent, il s’agit également de la dernière extension à la sortie du commutateur virtuel). Il s’agit généralement de la meilleure position, car l’extension PAM peut intercepter les paquets avant que d’autres extensions puissent les modifier à l’entrée. En outre, l’extension PAM peut intercepter les paquets une fois que toutes les modifications de paquets sont effectuées à la sortie.

Toutefois, étant donné qu’un administrateur peut réorganiser toutes les extensions de commutateur virtuel de la même classe, l’extension PAM peut être réorganisé en dehors de la position par défaut. Après une réorganisation, les filtres d’un client PAM peuvent être contournés et peuvent devoir être ajustés.

Si le rappel vSwitchFilterEngineReorderNotifyRn est inscrit, le pilote de légende est averti lorsqu’une réorganisation de commutateur virtuel se produit. Le pilote de légende reçoit une structure NDIS_ENUM_FILTERS avec une liste ordonnée des extensions de commutateur virtuel actuelles dans le paramètre vSwitchExtensionLwfList .

Si les extensions de commutateur virtuel sont réorganisées, l’extension PAM est suspendue (voir FilterPause) et redémarrée (voir FilterRestart). À partir de l’appel filterRestart du filtre PAM, le pilote de filtre PAM appelle la fonction NdisEnumerateFilterModules pour obtenir une liste ordonnée des filtres d’extension de commutateur virtuel. Si l’extension PAM n’est pas en position par défaut, le pilote de filtre avertit les pilotes de légende.

Un pilote de légende ne peut pas retourner STATUS_PENDING à partir de vSwitchFilterEngineReorderNotifyRn.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible à partir de Windows 8.
Plateforme cible Windows
En-tête fwpsk.h (inclure Fwpsk.h)
IRQL <= DISPATCH_LEVEL

Voir aussi

Fonctions de légende du pilote de légende

FilterPause

FilterRestart

FwpsvSwitchEventsSubscribe0

FwpsvSwitchNotifyComplete0

NDIS_ENUM_FILTERS

NdisEnumerateFilterModules

NdisFRestartComplete