Compartilhar via


Função FwpsInjectvSwitchEthernetIngressAsync0 (fwpsk.h)

A função FwpsInjectvSwitchEthernetIngressAsync0 (era FwpsInjectvSwitchIngressAsync0) reinjeta um pacote de comutador virtual absorvido anteriormente (não modificado) de volta para o caminho de dados de entrada do comutador virtual em que foi interceptado. Essa função também pode injetar um pacote criado com a função FwpsAllocateNetBufferAndNetBufferList0 .

ObservaçãoFwpsInjectvSwitchEthernetIngressAsync0 é uma versão específica de FwpsInjectvSwitchEthernetIngressAsync. Consulte Nomes de Version-Independent WFP e Direcionamento de versões específicas do Windows para obter mais informações.
 

Sintaxe

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

Um identificador de injeção que foi criado anteriormente por uma chamada para a função FwpsInjectionHandleCreate0 com o parâmetro flags definido como FWPS_INJECTION_TYPE_L2.

O parâmetro addressFamily não é usado e deve ser definido como AF_UNSPEC.

[in, optional] injectionContext

Um identificador opcional para o contexto de injeção que pode ser recuperado com a função FwpsQueryPacketInjectionState0 .

[in] flags

Reservado. Deve ser definido como zero.

[in, optional] reserved

Reservado. Deve ser definido como NULL.

[in] vSwitchId

O identificador do comutador virtual que o mecanismo de filtragem passou na estrutura FWPS_INCOMING_VALUES0 para a função de texto explicativo classifyFn do driver de texto explicativo. Esse é o GUID do comutador virtual fornecido em um campo de xxx_VSWITCH_ID.

[in] vSwitchSourcePortId

O identificador de porta de origem do comutador virtual.

[in] vSwitchSourceNicIndex

O índice NIC de origem do comutador virtual.

netBufferLists

Uma cadeia de NET_BUFFER_LIST estruturas a serem injetadas no caminho de dados de saída do comutador virtual.

[in] completionFn

Um ponteiro para uma função de texto explicativo completionFn fornecida pelo driver de texto explicativo. O mecanismo de filtro chama essa função depois que os dados do pacote, no parâmetro netBufferLists , foram injetados no caminho de dados de saída do comutador virtual. A função completionFn será chamada uma vez para cada NET_BUFFER_LIST na cadeia. completionFn deve ser especificado ao injetar estruturas NET_BUFFER_LIST clonadas ou criadas. Esse parâmetro pode ser NULL ao injetar estruturas de NET_BUFFER_LIST não filtradas originais que foram recebidas do mecanismo de filtro.

[in, optional] completionContext

Um ponteiro para um contexto fornecido pelo driver de texto explicativo que é passado para a função de texto explicativo apontada pelo parâmetro completionFn . Esse parâmetro é opcional e pode ser NULL.

Retornar valor

A função FwpsInjectvSwitchEthernetIngressAsync0 retorna um dos seguintes códigos NTSTATUS .

Código de retorno Descrição
STATUS_SUCCESS
O comutador virtual NET_BUFFER_LIST cadeia foi injetado com êxito.
Outros códigos de status
Ocorreu um erro.

Comentários

Quando um texto explicativo injeta pacotes com FwpsInjectvSwitchEthernetIngressAsync0, os pacotes injetados podem ser classificados novamente se os pacotes corresponderem ao mesmo filtro que foram classificados originalmente. Portanto, como textos explicativos em camadas de IP, os textos explicativos do comutador virtual devem chamar a função FwpsQueryPacketInjectionState0 para proteger contra inspeções infinitas de pacotes.

Requisitos

Requisito Valor
Cliente mínimo com suporte Disponível a partir do Windows 8.
Plataforma de Destino Universal
Cabeçalho fwpsk.h (inclua Fwpsk.h)
Biblioteca Fwpkclnt.lib
IRQL <= DISPATCH_LEVEL

Confira também

FWPS_INCOMING_VALUES0

FwpsAllocateNetBufferAndNetBufferList0

FwpsInjectionHandleCreate0

FwpsQueryPacketInjectionState0

NET_BUFFER_LIST

completionFn