FwpsInjectvSwitchEthernetIngressAsync0-Funktion (fwpsk.h)
Die FwpsInjectvSwitchEthernetIngressAsync0 (was FwpsInjectvSwitchIngressAsync0) funktion ein zuvor aufgenommenes virtuelles Switchpaket (nicht geändert) zurück in den Pfad des virtuellen Switch-Eingangsdatenpfads zurückwirft, in dem er abgefangen wurde. Diese Funktion kann auch ein Paket einfügen, das mit der FwpsAllocateNetBufferAndNetBufferList0-Funktion erstellt wurde.
Syntax
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
);
Parameter
[in] injectionHandle
Ein Einfügungshandle, das zuvor durch einen Aufruf der FwpsInjectionHandleCreate0 Funktion erstellt wurde, wobei die Flags Parameter auf FWPS_INJECTION_TYPE_L2festgelegt sind.
Der parameter addressFamily wird nicht verwendet und sollte auf AF_UNSPECfestgelegt werden.
[in, optional] injectionContext
Ein optionales Handle für den Einfügungskontext, der mit der FwpsQueryPacketInjectionState0-Funktion abgerufen werden kann.
[in] flags
Reserviert. Muss auf Null festgelegt werden.
[in, optional] reserved
Reserviert. Muss auf NULL festgelegt werden.
[in] vSwitchId
Der virtuelle Switchbezeichner, den das Filtermodul in der FWPS_INCOMING_VALUES0 Struktur an die klassifizierenFn Legendenfunktion des Popuptreibers übergeben hat. Dies ist die GUID- des virtuellen Switches, der in einem xxx_VSWITCH_ID Feld bereitgestellt wird.
[in] vSwitchSourcePortId
Der Quellportbezeichner des virtuellen Switchs.
[in] vSwitchSourceNicIndex
Der NIC-Index des virtuellen Switchs.
netBufferLists
Eine Kette von NET_BUFFER_LIST Strukturen, die in den Virtuellen Switch-Ausgangsdatenpfad eingefügt werden sollen.
[in] completionFn
Ein Zeiger auf eine completionFn Legendenfunktion, die vom Legendentreiber bereitgestellt wird. Das Filtermodul ruft diese Funktion nach den Paketdaten auf, an der netBufferLists Parameter, wurde in den Virtuellen Switch-Ausgangsdatenpfad eingefügt. Die completionFn--Funktion wird einmal für jede NET_BUFFER_LIST in der Kette aufgerufen. completionFn- müssen beim Einfügen geklonter oder erstellter NET_BUFFER_LIST Strukturen angegeben werden. Dieser Parameter kann NULL sein, wenn ursprüngliche, unveränderte NET_BUFFER_LIST Strukturen eingefügt werden, die vom Filtermodul empfangen wurden.
[in, optional] completionContext
Ein Zeiger auf einen vom Legendentreiber bereitgestellten Kontext, der an die Legendenfunktion übergeben wird, auf die der completionFn-Parameter verweist. Dieser Parameter ist optional und kann NULL-werden.
Rückgabewert
Die FwpsInjectvSwitchEthernetIngressAsync0-Funktion gibt einen der folgenden NTSTATUS- Codes zurück.
Rückgabecode | Beschreibung |
---|---|
|
Der virtuelle Switch NET_BUFFER_LIST Kette wurde erfolgreich eingefügt. |
|
Fehler. |
Bemerkungen
Wenn ein Popup Pakete mit FwpsInjectvSwitchEthernetIngressAsync0einbindet, können die injizierten Pakete erneut klassifiziert werden, wenn die Pakete mit demselben Filter übereinstimmen wie ursprünglich klassifiziert wurden. Daher müssen virtuelle Switchbeschriftungen wie Legenden auf IP-Ebenen die FwpsQueryPacketInjectionState0-Funktion aufrufen, um vor unendlichen Paketüberprüfungen zu schützen.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Verfügbar ab Windows 8. |
Zielplattform- | Universal |
Header- | fwpsk.h (include Fwpsk.h) |
Library | Fwpkclnt.lib |
IRQL- | <= DISPATCH_LEVEL |
Siehe auch
FwpsAllocateNetBufferAndNetBufferList0