estrutura FWPS_STREAM_CALLOUT_IO_PACKET0 (fwpsk.h)
A estrutura FWPS_STREAM_CALLOUT_IO_PACKET0 descreve os dados passados pelo mecanismo de filtro para a função de texto explicativo classifyFn de um texto explicativo do texto explicativo ao filtrar um fluxo de dados.
Sintaxe
typedef struct FWPS_STREAM_CALLOUT_IO_PACKET0_ {
FWPS_STREAM_DATA0 *streamData;
SIZE_T missedBytes;
UINT32 countBytesRequired;
SIZE_T countBytesEnforced;
FWPS_STREAM_ACTION_TYPE streamAction;
} FWPS_STREAM_CALLOUT_IO_PACKET0;
Membros
streamData
Um ponteiro para uma estrutura FWPS_STREAM_DATA0 que descreve a parte do fluxo de dados disponível para a função de texto explicativo classifyFn do driver de texto explicativo para processamento.
missedBytes
O número de bytes no fluxo de dados que estão ausentes desde a última vez em que a função de texto explicativo classifyFn do driver de texto explicativo foi chamada. Esse membro será diferente de zero se um filtro de peso mais alto no mecanismo de filtro impediu que a função de texto explicativo classifyFn do driver de texto explicativo processe uma parte do fluxo de dados.
countBytesRequired
Um valor definido pela função de texto explicativo classifyFn de um texto explicativo do texto explicativo. Esse valor especifica quantos bytes adicionais de dados de fluxo são exigidos pela função de texto explicativo se ele define o membro streamAction como FWPS_STREAM_ACTION_NEED_MORE_DATA. O mecanismo de filtro aguarda até receber pelo menos tantos bytes adicionais de dados de fluxo antes de chamar a função de texto explicativo classifyFn do driver de texto explicativo novamente.
Se a função de texto explicativo classifyFn de um texto explicativo definir o membro streamAction como um valor diferente de FWPS_STREAM_ACTION_NEED_MORE_DATA, ele deverá definir esse membro como zero.
countBytesEnforced
Um valor definido pela função de texto explicativo classifyFn de um texto explicativo do texto explicativo. Esse valor especifica o número de bytes à esquerda de dados na parte do fluxo de dados que está sendo processada à qual a ação especificada pelo membro streamAction ou pela ação retornada pela função de texto explicativo se aplica. Todos os dados restantes no buffer de fluxo serão passados para o driver de texto explicativo novamente na próxima vez que o mecanismo de filtro chamar a função de texto explicativo classifyFn do driver de texto explicativo.
streamAction
Um valor FWPS_STREAM_ACTION_TYPE definido pela função de texto explicativo classifyFn de um texto explicativo que especifica a ação a ser aplicada ao fluxo de dados. Essa ação é independente da ação retornada pela função de texto explicativo. A função de texto explicativo classifyFn de um texto explicativo define esse membro como um dos seguintes:
FWPS_STREAM_ACTION_NONE
Nenhuma ação específica do fluxo é necessária.
FWPS_STREAM_ACTION_ALLOW_CONNECTION
Indica que todos os segmentos de dados futuros pertencentes a um fluxo são permitidos. Nesse caso, o WFP para de classificar todos os segmentos de dados para o texto explicativo e tenta descarregar o fluxo para o hardware, de modo que não haja mais sobrecarga de inspeção.
FWPS_STREAM_ACTION_NEED_MORE_DATA
Mais dados de fluxo são exigidos pela função de texto explicativo.
FWPS_STREAM_ACTION_DROP_CONNECTION
A conexão de fluxo deve ser descartada. A função de texto explicativo classifyFn de um texto explicativo só deverá definir o membro streamAction para esse valor se o membro action.type da estrutura FWPS_FILTER0 que o mecanismo de filtro passou para a função de texto explicativo classifyFn do driver de texto explicativo contiver o valor FWP_ACTION_CALLOUT_UNKNOWN. Se a função de texto explicativo classifyFn de um texto explicativo definir o membro streamAction como esse valor quando o membro action.type da estrutura FWPS_FILTER0 contiver o valor FWP_ACTION_CALLOUT_INSPECTION, a conexão não será descartada.
FWPS_STREAM_ACTION_DEFER
O processamento dos dados de fluxo será adiado até que o driver de texto explicativo chame a função FwpsStreamContinue0 . Essa ação só pode ser definida para um fluxo de dados de entrada.
Adiar um fluxo de dados de entrada fará com que a pilha de rede pare de confirmar os dados recebidos do remetente. Isso levará a uma redução no tamanho da janela TCP deslizante. Um driver de texto explicativo pode usar esse comportamento para implementar o controle de fluxo para reduzir a taxa de dados de entrada.
O valor FWPS_STREAM_ACTION_TYPE_MAX é um valor máximo para fins de teste.
Se a função de texto explicativo classifyFn de um texto explicativo definir esse membro como um valor diferente de FWPS_STREAM_ACTION_NONE, a ação retornada pela função de texto explicativo será ignorada pelo mecanismo de filtro.
Comentários
O mecanismo de filtro passa um ponteiro para uma estrutura FWPS_STREAM_CALLOUT_IO_PACKET0 para a função de texto explicativo classifyFn de um texto explicativo como o parâmetro layerData ao filtrar um fluxo de dados.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows Vista. |
Cabeçalho | fwpsk.h (inclua Fwpsk.h) |