Función FwpsInjectvSwitchEthernetIngressAsync0 (fwpsk.h)
La función FwpsInjectvSwitchEthernetIngressAsync0 (was FwpsInjectvSwitchIngressAsync0) vuelve a expulsar un paquete de conmutador virtual (sin modificar) previamente a la ruta de acceso de datos de entrada del conmutador virtual donde se interceptó. Esta función también puede insertar un paquete creado con la función FwpsAllocateNetBufferAndNetBufferList0 .
Sintaxis
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
);
Parámetros
[in] injectionHandle
Identificador de inserción creado anteriormente por una llamada a la función FwpsInjectionHandleCreate0 con el parámetro flags establecido en FWPS_INJECTION_TYPE_L2.
El parámetro addressFamily no se usa y debe establecerse en AF_UNSPEC.
[in, optional] injectionContext
Identificador opcional para el contexto de inserción que se puede recuperar con la función FwpsQueryPacketInjectionState0 .
[in] flags
Reservado. Debe establecerse en cero.
[in, optional] reserved
Reservado. Debe establecerse en NULL.
[in] vSwitchId
Identificador del conmutador virtual que el motor de filtrado pasó en la estructura de FWPS_INCOMING_VALUES0 a la función de llamada de clasificación del controlador de llamadaFn. Este es el GUID del conmutador virtual que se proporciona en un campo de xxx_VSWITCH_ID.
[in] vSwitchSourcePortId
Identificador del puerto de origen del conmutador virtual.
[in] vSwitchSourceNicIndex
Índice NIC de origen del conmutador virtual.
netBufferLists
Cadena de estructuras de NET_BUFFER_LIST que se insertarán en la ruta de acceso de datos de salida del conmutador virtual.
[in] completionFn
Puntero a una función de llamada completionFn proporcionada por el controlador de llamada. El motor de filtros llama a esta función después de que los datos del paquete, en el parámetro netBufferLists , se haya insertado en la ruta de acceso de datos de salida del conmutador virtual. Se llamará a la función completionFn una vez para cada NET_BUFFER_LIST de la cadena. completionFn debe especificarse al insertar estructuras clonadas o creadas NET_BUFFER_LIST . Este parámetro puede ser NULL al insertar estructuras originales no modificadas NET_BUFFER_LIST que se recibieron del motor de filtro.
[in, optional] completionContext
Puntero a un contexto proporcionado por el controlador de llamada que se pasa a la función de llamada a la que apunta el parámetro completionFn . Este parámetro es opcional y puede ser NULL.
Valor devuelto
La función FwpsInjectvSwitchEthernetIngressAsync0 devuelve uno de los siguientes códigos NTSTATUS .
Código devuelto | Descripción |
---|---|
|
El conmutador virtual NET_BUFFER_LIST cadena se insertó correctamente. |
|
Se produjo un error. |
Comentarios
Cuando una llamada inserta paquetes con FwpsInjectvSwitchEthernetIngressAsync0, los paquetes insertados se podrían clasificar de nuevo si los paquetes coinciden con el mismo filtro que se clasificaron originalmente. Por lo tanto, al igual que las llamadas en capas IP, las llamadas de conmutador virtual deben llamar a la función FwpsQueryPacketInjectionState0 para protegerse frente a las inspecciones infinitas de paquetes.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 8. |
Plataforma de destino | Universal |
Encabezado | fwpsk.h (incluya Fwpsk.h) |
Library | Fwpkclnt.lib |
IRQL | <= DISPATCH_LEVEL |
Consulte también
FwpsAllocateNetBufferAndNetBufferList0