Condividi tramite


Funzione FwpsInjectvSwitchEthernetIngresAsync0 (fwpsk.h)

La funzione FwpsInjectvSwitchEthernetIngresAsync0 (è stata FwpsInjectvSwitchIngresAsync0) reinietta un pacchetto di commutatori virtuali precedentemente assorbito (non modificato) al percorso dati in ingresso del commutatore virtuale in cui è stato intercettato. Questa funzione può anche inserire un pacchetto creato con la funzione FwpsAllocateNetBufferAndNetBufferList0 .

NotaFwpsInjectvSwitchEthernetIngresAsync0 è una versione specifica di FwpsInjectvSwitchEthernetIngresAsync. Per altre informazioni , vedere Nomi Version-Independent WFP e Versioni specifiche di Windows .
 

Sintassi

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
);

Parametri

[in] injectionHandle

Handle di inserimento creato in precedenza da una chiamata alla funzione FwpsChangectionHandleCreate0 con il parametro flag impostato su FWPS_INJECTION_TYPE_L2.

Il parametro addressFamily non viene usato e deve essere impostato su AF_UNSPEC.

[in, optional] injectionContext

Handle facoltativo per il contesto di inserimento che può essere recuperato con la funzione FwpsQueryPacketChangectionState0 .

[in] flags

Riservato. Deve essere impostato su zero.

[in, optional] reserved

Riservato. Deve essere impostato su NULL.

[in] vSwitchId

Identificatore del commutatore virtuale passato il motore di filtro nella struttura FWPS_INCOMING_VALUES0 alla funzione di callout del driver di classificazioneFn . Si tratta del GUID del commutatore virtuale fornito in un campo xxx_VSWITCH_ID.

[in] vSwitchSourcePortId

Identificatore della porta di origine del commutatore virtuale.

[in] vSwitchSourceNicIndex

Indice della scheda di interfaccia di rete dell'opzione virtuale.

netBufferLists

Una catena di strutture NET_BUFFER_LIST da inserire nel percorso dati di uscita del commutatore virtuale.

[in] completionFn

Puntatore a una funzione callout di completamentoFn fornita dal driver di callout. Il motore di filtro chiama questa funzione dopo i dati del pacchetto, nel parametro netBufferLists , è stato inserito nel percorso dati del commutatore virtuale in uscita. La funzione completionFn verrà chiamata una volta per ogni NET_BUFFER_LIST nella catena. completamentoFn deve essere specificato durante l'inserimento di strutture clonate o create NET_BUFFER_LIST . Questo parametro può essere NULL quando si inseriscono strutture originali NET_BUFFER_LIST ricevute dal motore di filtro.

[in, optional] completionContext

Puntatore a un driver callout fornito dal contesto passato alla funzione callout a cui punta il parametro di completamentoFn . Questo parametro è facoltativo e può essere NULL.

Valore restituito

La funzione FwpsInjectvSwitchEthernetIngresAsync0 restituisce uno dei codici NTSTATUS seguenti.

Codice restituito Descrizione
STATUS_SUCCESS
Il commutatore virtuale NET_BUFFER_LIST catena è stato inserito correttamente.
Altri codici di stato
Si è verificato un errore.

Commenti

Quando un callout inserisce pacchetti con FwpsInjectvSwitchEthernetIngresAsync0, i pacchetti inseriti potrebbero essere classificati di nuovo se i pacchetti corrispondono allo stesso filtro di cui sono stati originariamente classificati. Pertanto, come i callout a livelli IP, i callout del commutatore virtuale devono chiamare la funzione FwpsQueryPacketChangectionState0 per proteggere dalle ispezioni infinite dei pacchetti.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 8.
Piattaforma di destinazione Universale
Intestazione fwpsk.h (includere Fwpsk.h)
Libreria Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

Vedi anche

FWPS_INCOMING_VALUES0

FwpsAllocateNetBufferAndNetBufferList0

FwpsChangectionHandleCreate0

FwpsQueryPacketChangectionState0

NET_BUFFER_LIST

completamentoFn