Função FwpsCalloutRegister2 (fwpsk.h)

A função FwpsCalloutRegister2 registra um texto explicativo com o mecanismo de filtro.

ObservaçãoFwpsCalloutRegister2 é a versão específica de FwpsCalloutRegister usada em Windows 8 e posteriores. Consulte Nomes de Version-Independent WFP e Direcionamento de versões específicas do Windows para obter mais informações. Para o Windows 7, FwpsCalloutRegister1 está disponível. Para o Windows Vista, FwpsCalloutRegister0 está disponível.

 

Sintaxe

NTSTATUS FwpsCalloutRegister2(
  [in, out]       void                *deviceObject,
  [in]            const FWPS_CALLOUT2 *callout,
  [out, optional] UINT32              *calloutId
);

Parâmetros

[in, out] deviceObject

Um ponteiro para um objeto de dispositivo que foi criado anteriormente pelo driver de texto explicativo. Para obter mais informações sobre como um driver de texto explicativo cria um objeto de dispositivo, consulte Criando um objeto de dispositivo.

[in] callout

Um ponteiro para uma estrutura de FWPS_CALLOUT2 constante que contém os dados necessários para registrar o texto explicativo com o mecanismo de filtro.

[out, optional] calloutId

Um ponteiro para uma variável do tipo UINT32 que recebe um identificador em tempo de execução que identifica o texto explicativo no mecanismo de filtro. O driver de texto explicativo passa esse identificador para a função FwpsCalloutUnregisterById0 ao cancelar o registro do texto explicativo do mecanismo de filtro. Se um driver de texto explicativo estiver filtrando um fluxo de dados, ele também passará esse identificador para as funções FwpsFlowAssociateContext0 e FwpsFlowRemoveContext0 . Se um driver de texto explicativo injetar dados em fluxos de dados, ele também passará esse identificador para a função FwpsStreamInjectAsync0 . O mecanismo de filtro também passa esse identificador para a função de texto explicativo flowDeleteFn do driver de texto explicativo. Esse parâmetro é opcional e pode ser NULL.

Retornar valor

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

Código de retorno Descrição
STATUS_SUCCESS
O texto explicativo foi registrado com êxito com o mecanismo de filtro.
STATUS_FWP_ALREADY_EXISTS
O texto explicativo não pôde ser registrado com o mecanismo de filtro. Um texto explicativo já está registrado no mecanismo de filtro com um identificador idêntico ao GUID especificado no membro calloutKey da estrutura FWPS_CALLOUT2 apontada pelo parâmetro de texto explicativo .
Outros códigos status
Ocorreu um erro.

Comentários

Um driver de texto explicativo chama a função FwpsCalloutRegister2 para registrar um texto explicativo com o mecanismo de filtro. Um driver de texto explicativo pode registrar um texto explicativo com o mecanismo de filtro a qualquer momento, mesmo que o mecanismo de filtro não esteja em execução no momento.

Um texto explicativo e filtros que especificam o texto explicativo para a ação do filtro podem ser adicionados ao mecanismo de filtro antes que um driver de texto explicativo registre o texto explicativo com o mecanismo de filtro. Nessa situação, filtros com um tipo de ação de FWP_ACTION_CALLOUT_TERMINATING ou FWP_ACTION_CALLOUT_UNKNOWN são tratados como FWP_ACTION_BLOCK e filtros com um tipo de ação de FWP_ACTION_CALLOUT_INSPECTION são ignorados até que o texto explicativo seja registrado no mecanismo de filtro.

Um driver de texto explicativo cancela o registro de um texto explicativo do mecanismo de filtro chamando o Função FwpsCalloutUnregisterById0 ou a Função FwpsCalloutUnregisterByKey0 . Um driver de texto explicativo não pode ser descarregado até que todos os textos explicativos registrados anteriormente com o mecanismo de filtro tenham sido cancelados com êxito.

Essa função é essencialmente idêntica à versão anterior, FwpsCalloutRegister1. A única diferença é a estrutura de FWPS_CALLOUT2 atualizada apontada pelo parâmetro de texto explicativo .

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 PASSIVE_LEVEL

Confira também

Criando um objeto device

FWPS_CALLOUT2

FwpsCalloutRegister0

FwpsCalloutRegister1

FwpsCalloutUnregisterById0

FwpsCalloutUnregisterByKey0

FwpsFlowAssociateContext0

FwpsFlowRemoveContext0

FwpsStreamInjectAsync0

IoCreateDevice

Tipos de textos explicativos

flowDeleteFn