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 .
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 |
---|---|
|
O comutador virtual NET_BUFFER_LIST cadeia foi injetado com êxito. |
|
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
FwpsAllocateNetBufferAndNetBufferList0