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.
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 |
---|---|
|
Il commutatore virtuale NET_BUFFER_LIST catena è stato inserito correttamente. |
|
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
FwpsAllocateNetBufferAndNetBufferList0