FwpsInjectvSwitchEthernetIngressAsync0, fonction (fwpsk.h)
La FwpsInjectvSwitchEthernetIngressAsync0 (était FwpsInjectvSwitchIngressAsync0) réinjecte un paquet de commutateur virtuel (non modifié) précédemment absorbé vers le chemin de données d’entrée du commutateur virtuel où il a été intercepté. Cette fonction peut également injecter un paquet créé avec la fonction FwpsAllocateNetBufferAndNetBufferList0.
Syntaxe
NTSTATUS FwpsInjectvSwitchEthernetIngressAsync0(
[in] HANDLE injectionHandle,
[in, optional] HANDLE injectionContext,
[in] UINT32 flags,
[in, optional] void *reserved,
[in] const FWP_BYTE_BLOB *vSwitchId,
[in] NDIS_SWITCH_PORT_ID vSwitchSourcePortId,
[in] NDIS_SWITCH_NIC_INDEX vSwitchSourceNicIndex,
NET_BUFFER_LIST *netBufferLists,
[in] FWPS_INJECT_COMPLETE completionFn,
[in, optional] HANDLE completionContext
);
Paramètres
[in] injectionHandle
Handle d’injection créé précédemment par un appel à la fonction FwpsInjectionHandleCreate0 avec les indicateurs de défini sur FWPS_INJECTION_TYPE_L2.
Le paramètre addressFamily n’est pas utilisé et doit être défini sur AF_UNSPEC.
[in, optional] injectionContext
Handle facultatif vers le contexte d’injection qui peut être récupéré avec la fonction FwpsQueryPacketInjectionState0.
[in] flags
Réservé. Doit être défini sur zéro.
[in, optional] reserved
Réservé. Doit être défini sur NULL.
[in] vSwitchId
Identificateur de commutateur virtuel transmis par le moteur de filtrage dans la structure FWPS_INCOMING_VALUES0 au classifieFn fonction de légende du pilote de légende. Il s’agit du GUID du commutateur virtuel fourni dans un champ xxx_VSWITCH_ID.
[in] vSwitchSourcePortId
Identificateur du port source du commutateur virtuel.
[in] vSwitchSourceNicIndex
Index de carte réseau source du commutateur virtuel.
netBufferLists
Chaîne de structures NET_BUFFER_LIST à injecter dans le chemin de données de sortie du commutateur virtuel.
[in] completionFn
Pointeur vers une fonction de légende completionFn fournie par le pilote de légende. Le moteur de filtre appelle cette fonction après les données de paquets, au netBufferLists paramètre, a été injecté dans le chemin de données de sortie du commutateur virtuel. La fonction completionFn sera appelée une fois pour chaque NET_BUFFER_LIST dans la chaîne. completionFn doit être spécifié lors de l’injection de structures NET_BUFFER_LIST clonées ou créées. Ce paramètre peut être NULL lors de l’injection de structures NET_BUFFER_LIST non modifiables d’origine reçues du moteur de filtre.
[in, optional] completionContext
Pointeur vers un contexte fourni par un pilote de légende transmis à la fonction de légende pointée par le paramètre completionFn. Ce paramètre est facultatif et peut être NULL.
Valeur de retour
La fonction FwpsInjectvSwitchEthernetIngressAsync0 retourne l’un des codes NTSTATUS suivants.
Retourner le code | Description |
---|---|
|
Le commutateur virtuel NET_BUFFER_LIST chaîne a été injecté avec succès. |
|
Une erreur s’est produite. |
Remarques
Lorsqu’une légende injecte des paquets avec FwpsInjectvSwitchEthernetIngressAsync0, les paquets injectés peuvent être classés à nouveau si les paquets correspondent au même filtre qu’ils ont été initialement classés. Par conséquent, comme les légendes sur les couches IP, les légendes de commutateur virtuel doivent appeler la fonction FwpsQueryPacketInjectionState0 pour vous protéger contre les inspections de paquets infinies.
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Disponible à partir de Windows 8. |
plateforme cible | Universel |
d’en-tête | fwpsk.h (include Fwpsk.h) |
bibliothèque | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |
Voir aussi
FwpsAllocateNetBufferAndNetBufferList0