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 .

NotaFwpsInjectvSwitchEthernetIngressAsync0 es una versión específica de FwpsInjectvSwitchEthernetIngressAsync. Para obtener más información, consulte NOMBRES de PMA Version-Independent y versiones específicas de destino de Windows .
 

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
STATUS_SUCCESS
El conmutador virtual NET_BUFFER_LIST cadena se insertó correctamente.
Otros códigos de estado
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

FWPS_INCOMING_VALUES0

FwpsAllocateNetBufferAndNetBufferList0

FwpsInjectionHandleCreate0

FwpsQueryPacketInjectionState0

NET_BUFFER_LIST

completionFn