FwpsInjectvSwitchEthernetIngressAsync0-Funktion (fwpsk.h)
Mit der Funktion FwpsInjectvSwitchEthernetIngressAsync0 (was FwpsInjectvSwitchIngressAsync0) wird ein zuvor absorbiertes virtuelles Switchpaket (unverändert) wieder in den Eingangsdatenpfad des virtuellen Switches eingefügt, in dem es abgefangen wurde. Diese Funktion kann auch ein Paket einfügen, das mit der Funktion FwpsAllocateNetBufferAndNetBufferList0 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 Einschleusungshandle, das zuvor durch einen Aufruf der FwpsInjectionHandleCreate0-Funktion erstellt wurde, wobei der Flags-Parameter auf FWPS_INJECTION_TYPE_L2 festgelegt ist.
Der parameter addressFamily wird nicht verwendet und sollte auf AF_UNSPEC festgelegt werden.
[in, optional] injectionContext
Ein optionales Handle für den Einschleusungskontext, der mit der Funktion FwpsQueryPacketInjectionState0 abgerufen werden kann.
[in] flags
Reserviert. Muss auf 0 (null) festgelegt werden.
[in, optional] reserved
Reserviert. Muss auf NULL festgelegt werden.
[in] vSwitchId
Der bezeichner des virtuellen Switches, den die Filter-Engine in der FWPS_INCOMING_VALUES0-Struktur an die Legendenfunktion klassifizierenFn des Callout-Treibers übergeben hat. Dies ist die GUID des virtuellen Switches, der in einem xxx_VSWITCH_ID Feld bereitgestellt wird.
[in] vSwitchSourcePortId
Der Quellportbezeichner des virtuellen Switches.
[in] vSwitchSourceNicIndex
Der Quell-NIC-Index des virtuellen Switches.
netBufferLists
Eine Kette von NET_BUFFER_LIST Strukturen, die in den ausgehenden Datenpfad des virtuellen Switches eingefügt werden sollen.
[in] completionFn
Ein Zeiger auf eine beschriftungsfunktion completionFn , die vom Legendentreiber bereitgestellt wird. Die Filter-Engine ruft diese Funktion auf, nachdem die Paketdaten mit dem netBufferLists-Parameter in den ausgehenden Datenpfad des virtuellen Switches eingefügt wurden. Die completionFn-Funktion wird einmal für jede NET_BUFFER_LIST in der Kette aufgerufen. completionFn muss angegeben werden, wenn geklonte oder erstellte NET_BUFFER_LIST Strukturen eingefügt werden. Dieser Parameter kann NULL sein, wenn ursprüngliche unveränderte NET_BUFFER_LIST Strukturen eingefügt werden, die von der Filter-Engine 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 sein.
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. |
|
Ein Fehler ist aufgetreten. |
Hinweise
Wenn eine Legende Pakete mit FwpsInjectvSwitchEthernetIngressAsync0 einschleust, können die eingefügten Pakete erneut klassifiziert werden, wenn die Pakete mit demselben Filter übereinstimmen, wie sie ursprünglich klassifiziert wurden. Daher müssen Legenden virtueller Switches wie Beschriftungen auf IP-Ebenen die FwpsQueryPacketInjectionState0-Funktion aufrufen, um sich vor unendlichen Paketüberprüfungen zu schützen.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 8. |
Zielplattform | Universell |
Header | fwpsk.h (include Fwpsk.h) |
Bibliothek | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |
Weitere Informationen
FwpsAllocateNetBufferAndNetBufferList0