Compartilhar via


estrutura FWPS_CALLOUT3 (fwpsk.h)

A estrutura FWPS_CALLOUT3 define os dados necessários para que um driver de texto explicativo registre um texto explicativo com o mecanismo de filtro.

Sintaxe

typedef struct FWPS_CALLOUT3_ {
  GUID                                calloutKey;
  UINT32                              flags;
  FWPS_CALLOUT_CLASSIFY_FN3           classifyFn;
  FWPS_CALLOUT_NOTIFY_FN3             notifyFn;
  FWPS_CALLOUT_FLOW_DELETE_NOTIFY_FN0 flowDeleteFn;
} FWPS_CALLOUT3;

Membros

calloutKey

Um GUID de definido pelo driver explicativo que identifica exclusivamente o texto explicativo.

flags

Sinalizadores que especificam parâmetros específicos do texto explicativo. Os sinalizadores possíveis são:

Valor Significado
FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW
0x00000001
Um driver de texto explicativo pode especificar esse sinalizador ao registrar um texto explicativo que será adicionado em uma camada que dá suporte a fluxos de dados. Se esse sinalizador for especificado, o mecanismo de filtro chamará o driver de texto explicativo classificarfn3 função de texto explicativo somente se houver um contexto associado ao fluxo de dados. Um driver de texto explicativo associa um contexto a um fluxo de dados chamando a função FwpsFlowAssociateContext0.
FWP_CALLOUT_FLAG_ALLOW_OFFLOAD
0x00000002
Um driver de texto explicativo especifica esse sinalizador para indicar que a função de texto explicativo do driver de texto explicativo classificarFn3 não é afetada pelo descarregamento do processamento de dados de rede para NICs (cartões de interface de rede) compatíveis com descarregamento. Se esse sinalizador não for especificado, o descarregamento do processamento de dados de rede será desabilitado para todo o tráfego processado por quaisquer filtros que especifiquem o texto explicativo para a ação do filtro.
FWP_CALLOUT_FLAG_ENABLE_COMMIT_ADD_NOTIFY
0x00000004
Um driver explicativo especifica esse sinalizador para indicar que ele pode receber notificações sobre objetos e filtros que são adicionados dentro de uma transação. O mecanismo de filtro envia a notificação depois que a transação é confirmada.
FWP_CALLOUT_FLAG_ALLOW_MID_STREAM_INSPECTION
0x00000008
Um driver de texto explicativo especifica esse sinalizador para indicar que ele pode executar a inspeção dinâmica de fluxos de dados no nível do fluxo de fluxos. Consulte de Inspeção de Fluxo.
FWP_CALLOUT_FLAG_ALLOW_RECLASSIFY
0x00000010
Um driver explicativo especifica esse sinalizador para se registrar para ser chamado quando uma operação de soquete existente for reclassificada.
FWP_CALLOUT_FLAG_RESERVED1
0x00000020
Reservado para uso do sistema. Os drivers de texto explicativo devem ignorar esse sinalizador.
FWP_CALLOUT_FLAG_ALLOW_RSC
0x00000040
Um driver de texto explicativo especifica esse sinalizador para indicar que o texto explicativo dá suporte ao RSC (segmento de recebimento de TCP) com pacotes grandes de até 64K. Se esse sinalizador não for especificado e um texto explicativo for registrado, o RSC será desabilitado para todo o tráfego processado por quaisquer filtros que especifiquem o texto explicativo para a ação do filtro.
FWP_CALLOUT_FLAG_ALLOW_L2_BATCH_CLASSIFY
0x00000080
Um driver explicativo especifica esse sinalizador ao registrar um texto explicativo que será adicionado na camada 2, para indicar que seu classificarfn3 função de texto explicativo pode classificar várias estruturas de NET_BUFFER_LIST encadeadas. Para obter mais informações, consulte Usandode filtragem da Camada 2.

cuidado:
Se um driver explicativo definir esse sinalizador, ele não poderá usar as funções a seguir para modificar NET_BUFFER_LISTs.

FwpsReferenceNetBufferList0
FwpsDereferenceNetBufferList0
FwpsAllocateCloneNetBufferList0
FwpsFreeCloneNetBufferList0

Com esse sinalizador definido, FwpsAllocateCloneNetBufferList0 sempre retornará um erro de INVALID_PARAMETER. Isso pode fazer com que um driver de texto explicativo de terceiros não gerencie a contagem de referência de NET_BUFFER_LISTs, fazendo com que as operações de envio e recebimento sejam interrompidas.
FWP_CALLOUT_FLAG_ALLOW_USO
0x00000100
Um driver de texto explicativo especifica esse sinalizador para indicar que o texto explicativo dá suporte ao USO (descarregamento de segmentação UDP) com pacotes maiores que a MTU do meio de rede. Se esse sinalizador não for especificado e um texto explicativo for registrado, o USO será desabilitado para todo o tráfego processado por quaisquer filtros que especifiquem o texto explicativo para a ação do filtro. Observação: A versão mais antiga na qual esse sinalizador tem suporte é o Windows Insider Preview, versão 10.0.25876.
FWP_CALLOUT_FLAG_ALLOW_URO
0x00000200
Um driver de texto explicativo especifica esse sinalizador para indicar que o texto explicativo dá suporte ao URO (descarregamento de recebimento de UDP) com pacotes grandes de até 64K. Se esse sinalizador não for especificado e um texto explicativo for registrado, o URO será desabilitado para todo o tráfego processado por quaisquer filtros que especifiquem o texto explicativo para a ação do filtro. Observação: Se esse sinalizador for especificado, os textos explicativos não deverão clonar e reinjetar pacotes URO de entrada.

classifyFn

Um ponteiro para o driver de texto explicativo classificarfn3 função de texto explicativo. O mecanismo de filtro chama essa função sempre que há dados de rede a serem processados pelo texto explicativo.

notifyFn

Um ponteiro para a função do driver de texto explicativo notifyFn3. O mecanismo de filtro chama essa função para notificar o driver de texto explicativo sobre os eventos associados ao texto explicativo.

flowDeleteFn

Um ponteiro para a função de texto explicativo flowDeleteFn do driver de texto explicativo. O mecanismo de filtro chama essa função sempre que um fluxo de dados que está sendo processado pelo texto explicativo é encerrado.

Se um driver de texto explicativo não associar um contexto aos fluxos de dados que o texto explicativo processa, esse membro deverá ser definido como NULL.

Observações

Um driver de texto explicativo passa um ponteiro para uma estrutura de FWPS_CALLOUT3 inicializada para a função FwpsCalloutRegister3 quando registra um texto explicativo com o mecanismo de filtro.

Um texto explicativo pode definir o sinalizador FWP_CALLOUT_FLAG_CONDITIONAL_ON_FLOW somente para conexões nas quais o driver está interessado em executar inspeções de fluxo. Esse texto explicativo será ignorado em todas as outras conexões. O desempenho será melhorado e o driver não precisará manter dados de estado desnecessários.

FWPS_CALLOUT3 é a versão específica do FWPS_CALLOUT. Consulte nomes de Version-Independent WFP e versões específicas de destino do Windows para obter mais informações.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível a partir do Windows 8.
cabeçalho fwpsk.h

Consulte também