Condividi tramite


Funzione FwpsInjectvSwitchEthernetIngressAsync0 (fwpsk.h)

La funzione FwpsInjectvSwitchEthernetIngressAsync 0 (è stata FwpsInjectvSwitchIngresSAsync0) reinietta un pacchetto di commutatore virtuale (non modificato) assorbito in precedenza nel percorso dati in ingresso del commutatore virtuale in cui è stato intercettato. Questa funzione può anche inserire un pacchetto creato con la funzione FwpsAllocateNetBufferAndNetBufferList0.

NotaFwpsInjectvSwitchEthernetIngresSAsync0 è una versione specifica di FwpsInjectvSwitchEthernetIngresAsync. Per altre informazioni, vedere nomi Version-Independent WFP e selezione di 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 FwpsMakectionHandleCreate0 con i flag parametro 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 FwpsQueryPacketPacketChangectionState0.

[in] flags

Riservato. Deve essere impostato su zero.

[in, optional] reserved

Riservato. Deve essere impostato su NULL.

[in] vSwitchId

Identificatore del commutatore virtuale passato dal motore di filtro nella struttura FWPS_INCOMING_VALUES0 al driver del callout classificareFn funzione callout. 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 di origine del commutatore virtuale.

netBufferLists

Catena di strutture di NET_BUFFER_LIST da inserire nel percorso dati del commutatore virtuale in uscita.

[in] completionFn

Puntatore a un completamentoFn funzione callout fornita dal driver del callout. Il motore di filtro chiama questa funzione dopo che i dati del pacchetto, nel parametro netBufferLists, sono stati inseriti nel percorso dati in uscita del commutatore virtuale. 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 non modificate NET_BUFFER_LIST ricevute dal motore di filtro.

[in, optional] completionContext

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

Valore restituito

La funzione FwpsInjectvSwitchEthernetIngresAsync0 restituisce uno dei codici di 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.

Osservazioni

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 FwpsQueryPacketPacketPacketState0 per proteggersi da ispezioni di pacchetti infinite.

Fabbisogno

Requisito Valore
client minimo supportato Disponibile a partire da Windows 8.
piattaforma di destinazione Universale
intestazione fwpsk.h (include Fwpsk.h)
libreria Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

Vedere anche

FWPS_INCOMING_VALUES0

FwpsAllocateNetBufferAndNetBufferList0

FwpsHandectionHandleCreate0

FwpsQueryPacketJetectionState0

NET_BUFFER_LIST

completamentoFn