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